在停止滚动时获取UICollectionView的Item(或索引)

时间:2014-07-24 14:15:39

标签: ios uicollectionview

UICollectionView停止滚动时,有没有简单的方法来获取项目的项目或索引?

2 个答案:

答案 0 :(得分:1)

这是我在UICollectionView停止滚动时找到页面中心可用项目的方式。  基于this Answer. https://stackoverflow.com/a/24396643/2618600

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"Finished scrolling %@",scrollView);

    if ([scrollView isKindOfClass:[UICollectionView class]])
    {

        UICollectionView *mainCollection = (UICollectionView *) scrollView;


  CGRect visibleRect = (CGRect){.origin = mainCollection.contentOffset, .size = mainCollection.bounds.size};
        CGPoint visiblePoint = CGPointMake(CGRectGetMidX(visibleRect), CGRectGetMidY(visibleRect));
        NSIndexPath *visibleIndexPath = [mainCollection indexPathForItemAtPoint:visiblePoint];
        NSLog(@"visibleIndexPath %ld",(long)visibleIndexPath.row);

}

答案 1 :(得分:0)

您可以使用- (NSArray *)indexPathsForVisibleItems的{​​{1}}方法。