UIView 在滚动时从 UICollectionView 的底部分离

Posted

技术标签:

【中文标题】UIView 在滚动时从 UICollectionView 的底部分离【英文标题】:UIView detaches from bottom of UICollectionView on scroll 【发布时间】:2019-05-26 03:56:51 【问题描述】:

我有一个 UICollectionView,它允许用户通过包含选择器的 UIView 输入代表。只要 UICollectionView 不需要滚动,选择器容器就会附加到视图的底部。随着添加更多单元格并且视图必须滚动,我的选择器容器不再附加到我的视图底部。我附上了我的问题和代码的屏幕截图,显示了我如何将我的 pickerContainer 附加到我的 collectionView 的底部。

let pickerContainer = UIView(frame: CGRect(x: 0, y: self.collectionView.frame.height - pickerContainerHeight, width: self.collectionView.frame.width, height: pickerContainerHeight))
<....some other code that i dont think matters....>
collectionView.addSubview(pickerContainer)

【问题讨论】:

如果您在情节提要构建器中使用 UI 约束,我建议您在其中添加一个视图(包含选择器视图和附加在视图控制器中的插座),并将适当的约束附加到 super 的底部视图以及每当需要显示或关闭选择器视图时,然后显示/隐藏该视图。 【参考方案1】:

不要将它添加到集合视图中,因为它将被添加到可滚动区域。

如果您使用故事板,您可以将其添加到集合视图的超级视图并将其放在集合上方。或者使用pickerContainer.superview?.bringSubviewToFront(view: pickerContainer) 移到前面,以防您只对编程版本感兴趣。

【讨论】:

以上是关于UIView 在滚动时从 UICollectionView 的底部分离的主要内容,如果未能解决你的问题,请参考以下文章

UICollection 的镜像滚动

Swift - 如果项目滚动一点,UICollection 快速恢复

IOS开发-UICollection实现轮播图片自动循环滚动功能

我将如何在按钮单击时从 uiview 中删除 UIBezierPath。?

单击 UIView 时从 UIView 内部的标签获取文本

在屏幕向下移动时从左到右移动 UIView