UICollectionView将其子视图的位置,大小和外观的控制权委托给一个单独的布局对象UICollectionViewLayout。通过提供一个自定义布局对象,程序员几乎可以实现任何能想象到的布局。UICollectionViewLayout是一个抽象基类,我们在开发过程中需要使用其子类,例如,在iOS6中UICollectionViewFlowLayout类实现了一个具体的布局实现.
UICollectionViewFlowLayout常用属性
UICollectionViewFlowLayout类从名称上理解是一个流式的布局。一个普通的集合视图的单元格流式布局如下所示,各个单元格是从左向右依次排列的,当一行排列完成后,会自动切换到下一行。流式视图的样式可以通过UICollectionViewFlowLayout类中相关的属性进行调整。
- 单元格之间的最小行间距
1 |
@property (nonatomic) CGFloat minimumLineSpacing; |
- 单元格之间的最小列间距
1 |
@property (nonatomic) CGFloat minimumInteritemSpacing; |
- 单元格的尺寸。通过这个属性设置的单元格尺寸是统一的,另外,每个单元格的尺寸都可以不同,如果要完成这种效果,我们需要实现
collectionView:layout:sizeForItemAtIndexPath: 这个方法
1 |
@property (nonatomic) CGSize itemSize; |
- 段Section的四边距
1 |
@property (nonatomic) UIEdgeInsets sectionInset; |