我会尝试使用 , 的组合以及与UICollectionView
iOS5的兼容性。UICollectionViewFlowLayout
PSTCollectionView
- 查看
UICollectionViewDelegateFlowLayout
文档,我想您会找到根据需要构建每部分自定义布局所需的一切。
PSTCollectionView
是“iOS4.3+ 的 UICollectionView 的开源、100% API 兼容的替代品”。此外,您可以UICollectionView
在 iOS6 上使用,并且只能PSTCollectionView
在 iOS5 设备上使用。看看GitHub 项目页面。
我在我正在开发的一个应用程序中使用了这种方法,而且实现起来非常简单。
编辑:你要采取的步骤大致如下:
- 您需要下载包含
PSTCollectionView
在您的项目中。为此,请按照 GitHub 页面上的步骤操作。
- 在您的
.h
文件中,导入PSTCollectionView.h
并添加以下两个协议:<PSUICollectionViewDataSource, PSUICollectionViewDelegate>
. 请注意,您将UICollectionView
在 iOS6 和PSTCollectionView
iOS5 中使用 Apple。在这里,您还应该为您的集合视图添加一个属性:@property (nonatomic, strong) PSUICollectionView *collectionView;
- 在
viewDidLoad:
方法中,你需要有这样的东西:
代码:
PSUICollectionViewFlowLayout *flowLayout = [[PSUICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
[flowLayout setItemSize:CGSizeMake(91, 119)];
[flowLayout setMinimumLineSpacing:0];
self.collectionView.dataSource = self;
self.collectionView.delegate = self;
方法:
numberOfSectionsInCollectionView:
collectionView:numberOfItemsInSection:
collectionView:cellForItemAtIndexPath:
collectionView:layout:insetForSectionAtIndex:
collectionView:layout:minimumLineSpacingForSectionAtIndex:
collectionView:layout:minimumInteritemSpacingForSectionAtIndex:
重要提示:不要忘记在每次提到UICollectionView
类前加上PS
. 例如PSUICollectionView
或PSUICollectionViewLayout
。
编辑 2:对于UICollectionView
参考这个优秀教程的一般理解。