免费开源的iOS开发学习平台

UICollectionView详解:6-UICollectionViewFlowLayout简介

UICollectionView将其子视图的位置,大小和外观的控制权委托给一个单独的布局对象UICollectionViewLayout。通过提供一个自定义布局对象,程序员几乎可以实现任何能想象到的布局。UICollectionViewLayout是一个抽象基类,我们在开发过程中需要使用其子类,例如,在iOS6中UICollectionViewFlowLayout类实现了一个具体的布局实现.

UICollectionViewFlowLayout常用属性

UICollectionViewFlowLayout类从名称上理解是一个流式的布局。一个普通的集合视图的单元格流式布局如下所示,各个单元格是从左向右依次排列的,当一行排列完成后,会自动切换到下一行。流式视图的样式可以通过UICollectionViewFlowLayout类中相关的属性进行调整。

  • 单元格之间的最小行间距
@property (nonatomic) CGFloat minimumLineSpacing;

  • 单元格之间的最小列间距
@property (nonatomic) CGFloat minimumInteritemSpacing;

  • 单元格的尺寸。通过这个属性设置的单元格尺寸是统一的,另外,每个单元格的尺寸都可以不同,如果要完成这种效果,我们需要实现
    collectionView:layout:sizeForItemAtIndexPath: 这个方法
@property (nonatomic) CGSize itemSize;

  • 段Section的四边距
@property (nonatomic) UIEdgeInsets sectionInset;