1
我想知道UICollectionView中的单元格的indexPaths,如果我滚动到特定的内容偏移量,将会是这样。例如,如果contentOffset是{0,0} - 我们将看到[0,1,2,3]索引。如果contentOffset是{0,100},我们将看到[2,3,4,5]索引。什么是简单的方法来做到这一点?如何获取特定内容偏移量的UICollectionView中的单元格的索引路径?
我想知道UICollectionView中的单元格的indexPaths,如果我滚动到特定的内容偏移量,将会是这样。例如,如果contentOffset是{0,0} - 我们将看到[0,1,2,3]索引。如果contentOffset是{0,100},我们将看到[2,3,4,5]索引。什么是简单的方法来做到这一点?如何获取特定内容偏移量的UICollectionView中的单元格的索引路径?
我找到了答案。关键的方法是在collectionViewLayout propery中。所以,如果你想找到你的滚动到一个特定的内容偏移需要调用哪些indexPaths的将是可见的:
[self.collectionView.collectionViewLayout layoutAttributesForElementsInRect:CGRectMake(0, target.y, scrollView.width, scrollView.height)];
你会发现UICollectionViewLayoutAttributes阵列类是谁告诉你的indexPath
是你试图在单元格可见时获取该信息?如果是这样,UICollectionView有一个'indexPathsForVisibleItems()'方法返回一个'NSIndexPath'数组。如果没有,你可以自己计算一下。如果所有单元的尺寸相同,应该很容易。 – daltonclaybrook
如果你能解释你为什么要这样做,那将会很好。这听起来像你正在解决错误的问题。 – fishinear
听起来像你是不明白我想要什么。我会给你一些细节。所以当我在偏移量{0,0}时,我想知道如果我滚动到偏移量{0,100},我会看到哪个索引? indexPathsForVisibleItems()不是我想要的。这个方法听起来像indexPathsForContentOffset() –