在加载 Collection View 之前,用户设置 Collection View 数组中的图像数量。所有的单元格都不适合屏幕。我有 30 个单元格,屏幕上只有 6 个单元格。
问题:如何在加载 UICollectionView 时自动滚动到包含所需图像的单元格?
最佳答案
新的、经过编辑的答案:
在viewDidLayoutSubviews
中添加这个
SWIFT
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let indexPath = IndexPath(item: 12, section: 0)
self.collectionView.scrollToItem(at: indexPath, at: [.centeredVertically, .centeredHorizontally], animated: true)
}
通常情况下,.centerVertically
是这样的
ObjC
-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:12 inSection:0];
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically | UICollectionViewScrollPositionCenteredHorizontally animated:NO];
}
适用于旧版 iOS 的旧答案
在 viewWillAppear
中添加:
[self.view layoutIfNeeded];
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:NO];
关于ios - UICollectionView 自动滚动到 IndexPath 处的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15985574/