ios - UICollectionView 自动滚动到 IndexPath 处的单元格

标签 ios uicollectionview

在加载 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/

相关文章:

ios - 为 iOS 上传 .p12 文件时,Urban Airship 出现 403 禁止错误

ios - UICollectionViewCell 中的 UITableView

ios - 弹出 View 的坐标计算

iphone - iPhone SDK中防止光标移到键盘后面的最简单方法?

php - 来自温度值的 UIColor

ios - 设置包含tableView的collectionView的contentInset

ios - 滚动旋转时 UICollectionView 崩溃(索引路径处补充项目的布局属性已更改但未失效..)

ios - 获取自定义单元格的标识符

swift - 在 UICollectionView 中滚动时如何保持 pageControl 就位?

ios - 认证编号不同