初始化layout
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize=CGSizeMake(100 ,200 ); //cell宽高
layout.sectionInset = UIEdgeInsetsMake(10, 10 , 10, 10); //cell间距
layout.minimumLineSpacing = 10; //跟滚动方向相同的间距
layout.minimumInteritemSpacing = 5; //跟滚动方向垂直的间距
创建collectionView
UICollectionView * collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, ScreenW, ScreenH-NAVH) collectionViewLayout:_layout];
collectionView.dataSource = self;
collectionView.delegate = self;
[collectionView registerClass:UICollectionViewCell.class forCellWithReuseIdentifier:@"cell"];// 自定义cell
//[collectionView registerClass:SquareImageCollectionCell.class forCellWithReuseIdentifier:@"SquareImageCollectionCell"];[collectionView registerClass:[MyFootListView class] forSupplementaryViewOfKind: UICollectionElementKindSectionHeader withReuseIdentifier:@"MyFootListView"]; // 代码初始化表头
[self.view addSubview:collectionView];
代理中方法
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
//自定义cell
// SquareImageCollectionCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"SquareImageCollectionCell" forIndexPath: indexPath];
//cell.cellImg = @"image";return cell;
}
//组数
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
//行数
- (NSInteger)collectionView:(UICollectionView*)collectionViewnumberOfItemsInSection:(NSInteger)section {
return 6;
}
// 要先设置表头大小
- (CGSize)collectionView:(UICollectionView*)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutreferenceSizeForHeaderInSection:(NSInteger)section {
return CGSizeMake(320, 50);
}
// 创建一个继承collectionReusableView的类,用法类比tableViewcell
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
UICollectionReusableView *reusableView = nil;
if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {
// 自定义头部视图 ,需要继承UICollectionReusableView
MyFootListView * headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"MyFootListView" forIndexPath:indexPath];
reusableView = headerView;
}else if ([kind isEqualToString:UICollectionElementKindSectionFooter]) {
// 自定义底部视图,同头部视图
}
return reusableView;
}
//cell点击方法
- (void)collectionView:(UICollectionView*)collectionViewdidSelectItemAtIndexPath:(NSIndexPath*)indexPath{
}
网友评论