Get Visible IndexPath UICollectionView in Swift

前端 未结 5 1878
-上瘾入骨i
-上瘾入骨i 2021-02-07 11:02

How to get visible IndexPath while scrolling in collectionView,I referred many link1,link2 But indexPathForCell is not suppor

相关标签:
5条回答
  • Have you tried delegate function?

    public func indexPathsForVisibleItems() -> [NSIndexPath]
    

    or

    collectionView.indexPathsForVisibleItems()
    

    these must give you what you wanted.

    0 讨论(0)
  • 2021-02-07 11:22

    You can use method of UICollectionView as :

    let indexPath = NSIndexPath(item: value1, section: value2)
    
    0 讨论(0)
  • 2021-02-07 11:23

    This will work fine.

    func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    
        let visibleIndex = Int(targetContentOffset.pointee.x / collectionView.frame.width)
        print(visibleIndex)
    
    }
    
    0 讨论(0)
  • 2021-02-07 11:30

    Swift, safer way to get visible Items:

    if let indexPaths = self.collectionView.indexPathsForVisibleItems {
        //Do something with an indexPaths array.
    }
    
    0 讨论(0)
  • 2021-02-07 11:35

    try this

    On delegate

    func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    for cell in yourCollectionViewname.visibleCells()  as [UICollectionViewCell]    {
       let indexPath = yourCollectionViewname.indexPathForCell(cell as UICollectionViewCell)
    
        NSLog("%@", indexPath)
    }
    }
    

    Choice-2

    on Button Click

      var point : CGPoint = sender.convertPoint(CGPointZero, toView:yourCollectionViewname)
    var indexPath =yourCollectionViewname!.indexPathForItemAtPoint(point)
    

    Get visible All Items

    you can use indexPathsForVisibleRows

    Returns an array of index paths each identifying a visible row in the receiver.

    • (NSArray *)indexPathsForVisibleItems;
    var visible: [AnyObject] = yourCollectionViewname.indexPathsForVisibleItems
    var indexpath: NSIndexPath = (visible[0] as! NSIndexPath)
    
    0 讨论(0)
提交回复
热议问题