集合视图的四个组成部分:

单元格:它是集合视图中的一个单元格。

节:它是集合视图中的一个行数据,由多个单元格构成

补充视图:它是节的头和脚

装饰视图:集合视图中的背景图。

UICollectionView继承自UIScrollView。有两个协议:UICollectionViewDelegate委托协议和UICollectionViewDataSource数据源协议。

UICollectionViewCell是单元格类,它的布局是有UICollectionViewLayout类定义的,它是一个抽象类。UICollectionViewFlowLayout类是UICollectionViewLayout类的子类。对于复杂的布局,可以自定义UICollectionViewLayout类。UICollectionView对于的控制器是UICollectionViewController类。

 

UICollectionViewDataSource中的方法有四个:

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section;提供某个节中的列数目

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;为某个单元格提供显示数据

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView;提供视图中节的个数

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath;我补充视图提供显示数据

 

UICollectionViewDelegate中较为重要的方法:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath;选择单元格后触发

- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath;不选泽单元格之后触发。