一、与UITableView的相同点与不同点
二、UICollectionViewLayout对象介绍
三、UICollectionViewFlowLayout
1、相同点
1)都是显示集合数据
2)都有单元格重用机制,在使用之前都要注册cell(原型cell除外)
3)都需要三个数据源代理方法(组数、行数(item数)、每一个单元格)
2、不同点:
1)UICollectionView不知道如何布局单元格,在实例一个UICollectionView的时候,要传入布局信息。详细见布局对象的介绍。
3、UICollectionView将其单元格的位置,大小和外观的控制权委托给一个单独的布局对象。通过提供一个自定义布局对象,你几乎可以实现任何你能想象到的布局。
4、一切布局相关的设置请到布局对象里设置。二、UICollectionViewLayout对象介绍
1、在创建UICollectionView的时候必须传入布局对象,但是不能传入UICollectionViewLayout对象,否则不会显示单元格,因为UICollectionViewLayout不具有具体的布局效果,只是布局对象的抽象基类。
2、布局对象必须继承自UICollectionViewLayout或者UICollectionViewFlowLayout。
3、UICollectionViewLayout有一个属性:UICollectionView *collectionView,获取当前需要布局的UICollectionView。三、UICollectionViewFlowLayout
1、FlowLayout有几个常用的属性:
CGFloat minimumLineSpacing;//最小行间距
CGFloat minimumInteritemSpacing;//最小item间距
CGSize itemSize;//item的大小
CGSize estimatedItemSize //估计item的大小
UICollectionViewScrollDirection scro