UICollectionView 添加段头

来源:互联网 发布:2016年保险理赔数据 编辑:程序博客网 时间:2024/06/08 12:41

UICollectionView 添加段头:
1.用storyboard添加段头:
2.代码添加。

注意:两种方法都需要设置如下,记住设置代理哟:

_collectionView.dataSource = self;_collectionView.delegate = self;UICollectionViewFlowLayout * layout = [[UICollectionViewFlowLayout alloc]init];_collectionView.collectionViewLayout = layout;layout.itemSize = CGSizeMake(318, 286);layout.sectionInset = UIEdgeInsetsMake(5, 0, 5, 0);layout.headerReferenceSize = CGSizeMake(320, 200);

1,使用storyboard添加段头,选中viewController中的collectionView,勾选section header

section

然后在xcode中新建一个类与这个header关联。
关联class

2.代码创建,就是新建一个类,必须继承自 UICollectionReusableView.

最后,无论是用storyboard还是代码,都需要实现UIcollectionViewDataSource中的方法:viewForSupplementaryElementOfKind

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{    UICollectionReusableView *reusableView = nil;    if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {        HLTopicItemHeader * header = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:kTopicHeaderIdentifier forIndexPath:indexPath];        //有缓存了        [header.imgV sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",kDataServer2,_topic_img_url]] placeholderImage:[UIImage imageNamed:@"AppIcon60x60@3x"]];        header.title.text = _topic_title;        reusableView = header;    }    return reusableView;}

OK。搞定~!

2 0