UICollectionView是从iOS6开始引入使用的,和UITableView一样目前应用非常广泛,很牛逼,但是本文不介绍其内部实现原理,其重用机制比UITableView更加复杂,只介绍其基本使用,其效果图如下所示:
相比于UITableView的不同是:
1,collecitonViewCell的注册只能是register而tableView除了这样注册以外可以在cellforIndexPath数据源里面注册,并且collectionView的头部尾部都要通过重用标识符来进行注册
2.collectionView需要通过布局Layout来布局,而tableView不需要程序员来布局(系统已经做好),这就给colelctionView的显示变得更加灵活.
其基本实现代码如下:
首先通过一个Flowlayout来布局collectionView(包括section之间间距、外部edgeInsets、cell的itemsize大小),其次注册cell、头部、尾部(均要有reuseIdentifier):
数据源方法及其代理方法:
指定间距及itemsize的代理方法UICollectionViewDelegateFlowLayout: