给UICollectionView 添加sectionhead 和sectionfoot

Collectionview 的sectionhead 和footview 和uitableview不同
反倒和uitableviewcell 是一种写法

需要注册cell 并要求使用固定的view类型

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    UICollectionReusableView *reusableview = nil;

    if (kind == UICollectionElementKindSectionHeader) {
        reusableview = someHeaderView;
    }

    if (kind == UICollectionElementKindSectionFooter) {
        reusableview = someFooterView;
    }

    return reusableview;
}

加入这样的代码以后并没有跑起来

找到原因是没有设置宽高 不会跑代理的

  UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];

 [layout setScrollDirection:UICollectionViewScrollDirectionVertical];

   layout.headerReferenceSize = CGSizeMake(100, 22);

   UICollectionView *dataListcollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 64,self.view.frame.size.width,260) collectionViewLayout:layout];

    [dataListcollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];//注册cell

    [dataListcollectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];//注册header的view

    dataListcollectionView.delegate = self;

    dataListcollectionView.dataSource = self;

    [self.view addSubview:dataListcollectionView];

参考文章

UICollectionView HeaderView 怎么做

UICollectionView显示header和footer

然后是调整 每个section 底下的collectionview间距

#pragma UICollectionView - delegate
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout
        insetForSectionAtIndex:(NSInteger)section {
    return UIEdgeInsetsMake(14, 14, 14, 14);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值