我有一个UICollectionView,水平滚动,paging=YES
,每页显示三个单元格。如果它的数据源有四个项目,那么collectionView将有两个页面"。
奇怪的是,在点击单元格时,collectionView始终会快速回到contentOffset(0,0)
。观看视频:https://www.dropbox.com/s/vlqt3mh7bwyeiw7/collectionviewbug.mov?dl=0
无所事事,检查我的git repo上的代码:https://github.com/opfeffer/collectionviewbug
任何人都知道导致此问题的原因以及如何预防?谢谢!
答案 0 :(得分:1)
这种情况正在发生,因为您的页面大小为3,但是有4个元素,您显示的是第一页的2/3和预期的第2页的1/3。当您点击单元格时,集合会移动以完全显示当时向用户显示更多内容的页面。
如果你使用7个元素,你可以检查一下,然后按7收集到第4个元素。
避免这种行为的方法是始终拥有完整的页面"因此,如果您没有足够的元素来填充页面,则无论如何都需要告诉内容视图更大。因此,您需要使用类似于此的内容对UICOllectionViewFlowLayout进行子类化: