停止滚动时获取 UICollectionView 的项目(或索引)
Posted
技术标签:
【中文标题】停止滚动时获取 UICollectionView 的项目(或索引)【英文标题】:Get Item (or index) of UICollectionView when it stops scrolling 【发布时间】:2014-07-24 14:15:38 【问题描述】:当UICollectionView
停止滚动时,是否有任何简单的方法可以获取项目或项目索引?
【问题讨论】:
“获取项目索引”是什么意思?可见项目的索引? 【参考方案1】:这就是我如何在 UICollectionView 停止滚动时找到页面中心可用的项目。 基于this Answer.https://***.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);
【讨论】:
【参考方案2】:你可以使用UICollectionView
的- (NSArray *)indexPathsForVisibleItems
方法。
【讨论】:
以上是关于停止滚动时获取 UICollectionView 的项目(或索引)的主要内容,如果未能解决你的问题,请参考以下文章
当调用 `performUpdates(:)` 时,由 IGListKit 提供支持的 UICollectionView 停止滚动
在 UICollectionView 中重新加载数据后保持 collectionview 速度
滚动时大型 UICollectionViewCell 停止显示