3

我有UICollectionView水平滚动和分页。当我第一次滚动到下一页或上一页或从左到右更改滚动方向时,indexPath.row 中 cellForItemAtIndexPath的值更改为 3 而不是 1。然后它可以正常工作。CollectionViewiOS9 中正常工作。问题仅在iOS10 中出现。谢谢。

4

2 回答 2

3

问题在于 UICollectionView 的新预取功能。禁用预取解决了我的问题。

if #available(iOS 10.0, *) {collectionView.isPrefetchingEnabled = false}
于 2016-10-06T15:01:08.390 回答
0

可能的情况:

由于您在 collectionView 中使用分页,并且作为您的声明,1 页包含 3 个单元格。因此,如果您移动 1 页,则单元格的索引将移动 3,因为索引来自左侧的单元格。

例如单元格 > 第 1 页:[0..1..2] 第 2 页:[3..4..5]

于 2016-10-05T11:30:11.767 回答