滚动时获取第一个 Cell/Item UICollectionView - iOS
Getting first Cell/Item of UICollectionView while scrolling - iOS
我有一个有 1 行 1 列的 UICollectionView
。当我水平滚动它时,我想获得第一个项目(indexPath
基本上)。
例如,我的 UICollectionView
中水平显示了 100 个项目,当我从右向左滚动时,无论哪个项目是第一个可见的,我都需要它 indexPath
。
这意味着 indexPath
将在滚动时不断变化。
如何实现?请指导。谢谢!
我认为您需要实施 UIScrollView
委托方法并在其中获取可见单元格
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
UICollectionViewCell *firstCell = [[collectionView visibleCells] firstObject];
NSIndexPath *firstIndexPath = [collectionView indexPathForCell: firstCell];
NSLog(@"%@", firstIndexPath);
}
希望对您有所帮助
collectionView.indexPathsForVisibleItems()
returns 可见单元格的 NSIndexPath
数组。您可以通过按 NSIndexPath.item
.
对它们进行排序来获得最左边的一个
Edti:
要在滚动时收到通知,请实施 UIScrollViewDelegate
方法 scrollViewDidScroll(_: UIScrollView)
。请记住 UICollectionView
是 UIScrollView
.
的子类
我有一个有 1 行 1 列的 UICollectionView
。当我水平滚动它时,我想获得第一个项目(indexPath
基本上)。
例如,我的 UICollectionView
中水平显示了 100 个项目,当我从右向左滚动时,无论哪个项目是第一个可见的,我都需要它 indexPath
。
这意味着 indexPath
将在滚动时不断变化。
如何实现?请指导。谢谢!
我认为您需要实施 UIScrollView
委托方法并在其中获取可见单元格
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
UICollectionViewCell *firstCell = [[collectionView visibleCells] firstObject];
NSIndexPath *firstIndexPath = [collectionView indexPathForCell: firstCell];
NSLog(@"%@", firstIndexPath);
}
希望对您有所帮助
collectionView.indexPathsForVisibleItems()
returns 可见单元格的 NSIndexPath
数组。您可以通过按 NSIndexPath.item
.
Edti:
要在滚动时收到通知,请实施 UIScrollViewDelegate
方法 scrollViewDidScroll(_: UIScrollView)
。请记住 UICollectionView
是 UIScrollView
.