[self.collectionView registerClass:[CurrentCollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
// 注册headerView
[self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];
// 注册footerView
[self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footer"];
self.allDataArray = [NSMutableArray array];
// 创建collectionView
- (void)createCollectionView {
// collectionView 布局 ========================================
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
// 设置最小行间距
layout.minimumLineSpacing = 10;
// 设置最小列间距
layout.minimumInteritemSpacing = 10;
// 设置item大小
layout.itemSize = CGSizeMake(100, 130);
// 设置滑动方向
// 水平
// layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
// 垂直
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
// 设置collectionView的header高度 (如果是垂直滑动,header的宽度是指无效;如果是水平滑动,header的高度设置无效)
layout.headerReferenceSize = CGSizeMake(0, 100);
// 设置collectionView的footer高度
layout.footerReferenceSize = CGSizeMake(0, 200);
// 设置section的内边距
layout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10);
// =====================================================================
// 初始化collectionView
self.collectionView = [[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:layout];
// 设置collectionView背景色
self.collectionView.backgroundColor = [UIColor redColor];
// 设置代理
self.collectionView.delegate = self;
self.collectionView.dataSource = self;
// 把collectionView加到控制器上面
[self.view addSubview:self.collectionView];
}
CollectionViewController 的用法和collectionView基本一致,不过要初始化
- (instancetype)init
{
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake(Width / 4, (Height) / 4.5);
// 设置cell之间间距
layout.minimumInteritemSpacing = Width * 0.08;
// 设置行距
layout.minimumLineSpacing = 30;
// 设置collectionView的header高度
layout.headerReferenceSize = CGSizeMake(0, 20);
// 设置section的内边距 UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right )
layout.sectionInset = UIEdgeInsetsMake(40, 10, 10, 10);
return [super initWithCollectionViewLayout:layout];
}