UICollectionView cellForItemAt indexPath 正在跳过 iOS 10 中的行索引

UICollectionView cellForItemAt indexPath is skipping row indexes in iOS 10

我有 UICollectionView 水平滚动和分页功能。当我第一次滚动到下一页或上一页或从左到右更改滚动方向时,cellForItemAtIndexPath 中的 indexPath.row 的值改变了 3 而不是 1。然后它可以正常工作。 CollectionViewiOS 9 中没有问题。问题只出现在 iOS 10。谢谢。

可能的情况:

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

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

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

if #available(iOS 10.0, *) {collectionView.isPrefetchingEnabled = false}