【问题标题】:How to get indexpaths of cells in UICollectionView for specific content offset?如何获取特定内容偏移的 UICollectionView 中单元格的索引路径?
【发布时间】:2016-07-15 15:05:00
【问题描述】:

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

【问题讨论】:

  • 您是否尝试在单元格可见时获取该信息?如果是这样,UICollectionView 有一个方法indexPathsForVisibleItems(),它返回一个NSIndexPath 的数组。如果没有,您可能可以自己计算。如果所有单元格大小相同,应该很容易。
  • 如果你能解释你为什么要这样做就好了。听起来您正在解决错误的问题。
  • 听起来你不明白我想要什么。我会给你一些细节。因此,当我在偏移量 {0,0} 上时,我想知道如果滚动到偏移量 {0,100} 会看到哪些索引? indexPathsForVisibleItems() 不是我想要的。这个方法听起来像 indexPathsForContentOffset()

标签: ios objective-c swift uicollectionview


【解决方案1】:

我找到了答案。关键方法在 collectionViewLayout 属性中。因此,如果您想在滚动到特定内容偏移量时查找哪些 indexPaths 可见,则需要调用:

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

你会发现 UICollectionViewLayoutAttributes 类的数组告诉你一个 indexPath

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多