UICollectionView 垂直反弹不起作用

Posted

技术标签:

【中文标题】UICollectionView 垂直反弹不起作用【英文标题】:UICollectionView vertical bounce not working 【发布时间】:2018-02-14 15:28:05 【问题描述】:

我有一个非常奇怪的问题,我似乎无法理解它。 我有一个带有自定义布局的集合视图,当我从上到下滚动时,集合视图会弹跳,但是当我转到集合视图的底部时,它只是卡住了。甚至滚动指示器的大小也保持不变。

如果我转到最后一个集合视图单元格并删除单元格内的视图之间的一些垂直约束,集合视图似乎会恢复其预期行为。所有单元格都在自动调整大小。

有没有人遇到过类似的情况? Here is a video of what is happening

【问题讨论】:

你能分享你的代码吗?可能与您刷新集合视图数据的频率或集合视图获取其数据源的方式有关。 如果我从最后一个单元格中删除垂直约束,它将开始工作,因此它与数据源无关。数据源值是恒定的。 确保您的约束与超级视图相关,而不是与安全区域相关。 我会试一试,但我记得他们与监督有关。我已经添加了一个正在发生的事情的视频。 @BogdanOnu 集合视图约束确实与安全区域相关联,但更改它并不能解决问题。 【参考方案1】:

单元格会自动调整大小,但我还在视图控制器扩展中实现了 UICollectionViewDelegateFlowLayout 委托方法 collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath)

它工作了一段时间,但是当我需要自我调整单元格时,我忘了删除委托。

【讨论】:

以上是关于UICollectionView 垂直反弹不起作用的主要内容,如果未能解决你的问题,请参考以下文章

iOS 9 UICollectionView 水平重新加载数据不起作用

以编程方式禁用 UICollectionView 中的垂直滚动

UIScrollView 不使用 UICollectionView 滚动

如果更改事件未绑定然后反弹,则下拉选项“更改”不起作用

CustomCollectionViewLayout 在 Swift 3 上不起作用

UICollectionView - insertItems(at:indexPath)不起作用