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

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

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;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
OK。搞定~!