2016-07-15 67 views
1

我想知道UICollectionView中的单元格的indexPaths,如果我滚动到特定的内容偏移量,将会是这样。例如,如果contentOffset是{0,0} - 我们将看到[0,1,2,3]索引。如果contentOffset是{0,100},我们将看到[2,3,4,5]索引。什么是简单的方法来做到这一点?如何获取特定内容偏移量的UICollectionView中的单元格的索引路径?

+0

是你试图在单元格可见时获取该信息?如果是这样,UICollectionView有一个'indexPathsForVisibleItems()'方法返回一个'NSIndexPath'数组。如果没有,你可以自己计算一下。如果所有单元的尺寸相同,应该很容易。 – daltonclaybrook

+0

如果你能解释你为什么要这样做,那将会很好。这听起来像你正在解决错误的问题。 – fishinear

+0

听起来像你是不明白我想要什么。我会给你一些细节。所以当我在偏移量{0,0}时,我想知道如果我滚动到偏移量{0,100},我会看到哪个索引? indexPathsForVisibleItems()不是我想要的。这个方法听起来像indexPathsForContentOffset() –

回答

1

我找到了答案。关键的方法是在collectionViewLayout propery中。所以,如果你想找到你的滚动到一个特定的内容偏移需要调用哪些indexPaths的将是可见的:

[self.collectionView.collectionViewLayout layoutAttributesForElementsInRect:CGRectMake(0, target.y, scrollView.width, scrollView.height)]; 

你会发现UICollectionViewLayoutAttributes阵列类是谁告诉你的indexPath