UICollectionView 滚动 ViewController
Posted
技术标签:
【中文标题】UICollectionView 滚动 ViewController【英文标题】:UICollectionView Scrolling the ViewController 【发布时间】:2019-05-05 16:22:53 【问题描述】:我试图在我的 viewController 中实现一个 CollectionView。
而且效果很好。
我遇到的问题是 CollectionView 在父控制器内滚动。
如果您滚动集合视图,我希望这样做 - 滚动整个视图,而不仅仅是集合视图位。
我尝试在 Collection View 上禁用滚动,但随后没有任何滚动。
那么我将如何设置集合视图,以便在您滚动它时整个页面滚动,而不仅仅是父视图控制器内的集合视图滚动?
【问题讨论】:
【参考方案1】:应该很简单,而且你已经做了一件正确的事。
-
禁用您的collectionView(或tableView,以防您将来使用它,它们基本相同)的滚动。
在 scrollView 中添加您的 collectionView(或 tableView)。
scrollView 当然在你的控制器视图中。
确保每个约束都设置正确。
您可能需要获取 collectionView 的大小(例如高度),并将该高度值设置为 collectionView 的约束高度。
我过去的这些回答应该对你有所帮助:
https://***.com/a/52657995/3231194 https://***.com/a/54211275/3231194 https://***.com/a/53971539/3231194瞧。唯一启用的滚动是包含您的 collectionView(或 tableView)的滚动视图。
【讨论】:
这样做的问题是,为集合视图指定特定高度将立即渲染所有单元格 - 这意味着如果您的数据集中有 1000 个项目,则所有 1000 个项目都会渲染,从而消耗您的设备内存。 @Starwave “意思是如果你的数据集中有 1000 个项目,所有 1000 个项目都会渲染,从而消耗你的设备内存。” - 没有。这就是现在的单元格在 ios 上的工作方式。以上是关于UICollectionView 滚动 ViewController的主要内容,如果未能解决你的问题,请参考以下文章
向上滚动时保持 UICollectionView 中的滚动位置
如何防止使用 UICollectionView 滚动 UIScrollView
如何滚动另一个 UICollectionView 下方的 UICollectionView?
如何检测滚动到水平 UICollectionView 的末尾