如果您已经有一个可以执行您想要的操作的集合视图,则只需打开分页。self.collectionView.pagingEnabled = YES
您还可以通过选中属性检查器中的分页框来启用 IB 中的分页。使用 aUICollectionView
为您提供了可重用单元的额外好处。
编辑
你仍然可以使用 UICollectionView。创建包含您的详细视图的 UICollectionViewCell 子类。然后,当您想直接启动到特定图像时,您可以使用- (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated
如果您在此视图中加载大量图像,则 scrollview 方法将立即加载所有图像,而不是像在 collectionview 场景中那样按需加载。你总是可以在滚动视图中解决这个问题,但所有这些工作都是在 UICollectionView 中为你完成的。
编辑2
我在评论中开始了这个,但它变得越来越大......
在您的视图控制器子类中,您需要注册您的类或您创建的用于布置该单元格的 nib。我更喜欢笔尖,所以我可以在 Interface Builder 中布置所有内容。如果你走 nib 路线,你将创建一个空的 xib 并将 UICollectionViewCell 拖出右下角的对象库。然后选择该单元格并确保将 Class 设置为您创建的自定义子类。
现在在您的视图控制器子类中,您将– registerNib:forCellWithReuseIdentifier:
像这样调用 viewDidLoad 方法:
[self.collectionView registerNib:[UINib nibWithNibName:@"WhateverYouNamedYourNib" bundle:nil] forCellWithReuseIdentifier:@"cell"];
您的视图控制器将符合UICollectionViewDataSource
协议,您将实现此方法:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CustomCellClass *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath
//Setup the cell with image and whatever else
return cell;
}