我有UICollectionView
,第1行1列。我想在水平滚动时得到第一个项目(indexPath
)。
例如,我的UICollectionView
水平显示了100个项目,当我从右向左滚动时,无论哪个项目是第一个可见,我都需要indexPath
。
这意味着indexPath
在滚动时会不断变化。
如何实现这一目标?请指南。谢谢!
答案 0 :(得分:2)
我认为您需要实现UIScrollView
委托方法并在
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
UICollectionViewCell *firstCell = [[collectionView visibleCells] firstObject];
NSIndexPath *firstIndexPath = [collectionView indexPathForCell: firstCell];
NSLog(@"%@", firstIndexPath);
}
希望这个帮助
答案 1 :(得分:1)
collectionView.indexPathsForVisibleItems()
为可见单元格返回NSIndexPath
数组。您可以通过NSIndexPath.item
对其进行排序来获得最左边的一个。
<强> Edti 强>:
要在滚动时收到通知,请实施UIScrollViewDelegate
方法scrollViewDidScroll(_: UIScrollView)
。请记住,UICollectionView
是UIScrollView
的子类。