// iOS6.0以后才有的, 这个类是用于决定UICollectionView的item的布局的NS_CLASS_AVAILABLE_IOS(6_0)@interfaceUICollectionViewFlowLayout:
UICollectionViewLayout// 行之间的最小间距@property(nonatomic) CGFloat minimumLineSpacing;// item之间的最小间距@property(nonatomic) CGFloat minimumInteritemSpacing;// 如果cell的大小是固定的,应该直接设置此属性,就不用实现代理@property(nonatomic) CGSize itemSize;// 这是8.0后才能使用,评估item的大小@property(nonatomic) CGSize estimatedItemSizeNS_AVAILABLE_IOS(8_0);// 支持两种滚动方向,水平滚动和竖直功能// 因此不要再想要使用横向tableview,直接使用collectionview就okb@property(nonatomic) UICollectionViewScrollDirection scrollDirection;// header参考大小@property(nonatomic) CGSize headerReferenceSize;// footer参考大小@property(nonatomic) CGSize footerReferenceSize;// section的inset,用于设置与上、左、底、右的间隔@property(nonatomic) UIEdgeInsets sectionInset;// 9.0以后才有的属性,用于设置header/footer与tableview的section效果一样。// 可以悬停@property(nonatomic) BOOL sectionHeadersPinToVisibleBoundsNS_AVAILABLE_IOS(9_0);@property(nonatomic) BOOL sectionFootersPinToVisibleBoundsNS_AVAILABLE_IOS(9_0);
@end
// 创建UI布局UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];// 设置成固定的大小layout.itemSize = CGSizeMake((kScreenWidth -30) /2, (kScreenWidth -30) /2+20);// 行间距最小设置为10layout.minimumLineSpacing =10;// 列间距最小设置为10layout.minimumInteritemSpacing =10;self.collectionView = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout];[self.viewaddSubview:self.collectionView];// 注册cell[self.collectionViewregisterClass:[HYBGridCell class] forCellWithReuseIdentifier:cellIdentifier];// 设置代理self.collectionView.delegate =self;self.collectionView.backgroundColor = [UIColor blackColor];// 设置数据源代理self.collectionView.dataSource =self;