如何快速获取集合视图的当前索引路径

Posted

技术标签:

【中文标题】如何快速获取集合视图的当前索引路径【英文标题】:How to get current index path of collection view in swift 【发布时间】:2019-12-17 09:22:15 【问题描述】:

我是 swift 的新手,我在获取当前集合视图的 indexpath 时遇到问题 我的代码是这样的

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) 
    for cell in SliderCollectionView.visibleCells 
        let indexPath = SliderCollectionView.indexPath(for: cell)
        print(indexPath)
    

我收到 indexPath 但像这样 Optional([0, 2]) 但我需要它作为 2

【问题讨论】:

最正确的是收集它的项目而不是行 这能回答你的问题吗? UICollectionView current visible cell index @Sailendra 不,我接受了对我有帮助的答案 @Mujtaba 你的代码是正确的,只是你需要从 indexPath 中获取行,比如 print(indexPath.row)。 【参考方案1】:

你需要if-let

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) 
    for cell in SliderCollectionView.visibleCells 
      if let row = SliderCollectionView.indexPath(for: cell)?.item 
           print(row) 
      
    

您可以直接访问可见索引

 for index in SliderCollectionView.indexPathsForVisibleItems 
    print(index.item)
 

【讨论】:

【参考方案2】:

indexPath 更改为indexPath.row

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) 
    for cell in SliderCollectionView.visibleCells 
        let indexPath = SliderCollectionView.indexPath(for: cell)
        print(indexPath.row)

    

【讨论】:

【参考方案3】:

试试这个

if let indexPath = collectionView.indexPath(for: cell) 
   print(indexPath.row)

【讨论】:

以上是关于如何快速获取集合视图的当前索引路径的主要内容,如果未能解决你的问题,请参考以下文章

热门获取集合视图中现有对象的索引路径[关闭]

如何在单元格中调用图像 url 和图像视图以获取集合视图的索引路径功能

如何查找选定集合视图单元格的索引路径?

如何在集合视图中查找最后一个可见单元格的索引路径。但索引路径是随机的不断变化

使用滚动索引路径时,集合视图正在跳过一行

如何获取集合视图来控制表格视图中的搜索结果?