我会尝试使用 , 的组合以及与UICollectionViewiOS5的兼容性。UICollectionViewFlowLayoutPSTCollectionView
- 查看
UICollectionViewDelegateFlowLayout文档,我想您会找到根据需要构建每部分自定义布局所需的一切。
PSTCollectionView是“iOS4.3+ 的 UICollectionView 的开源、100% API 兼容的替代品”。此外,您可以UICollectionView在 iOS6 上使用,并且只能PSTCollectionView在 iOS5 设备上使用。看看GitHub 项目页面。
我在我正在开发的一个应用程序中使用了这种方法,而且实现起来非常简单。
编辑:你要采取的步骤大致如下:
- 您需要下载包含
PSTCollectionView在您的项目中。为此,请按照 GitHub 页面上的步骤操作。
- 在您的
.h文件中,导入PSTCollectionView.h并添加以下两个协议:<PSUICollectionViewDataSource, PSUICollectionViewDelegate>. 请注意,您将UICollectionView在 iOS6 和PSTCollectionViewiOS5 中使用 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参考这个优秀教程的一般理解。