记得第一次写CollectionView标题的时候,查了很多资料结果发现都不是很完整,经过努力还是做出来了现在跟大家分享下,让还在坑里的小伙伴快速出坑废话少说直接开始
在创建好collection的情况下我们开始第一步
首先创建一个继承与UICollectionReusableView的类
然后在collectionView注册头部视图
static NSString *kheaderIdentifier = @"headerIdentifier"; [collectionViews registerClass:[YYClassReusable class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:kheaderIdentifier];
YYClassReusable是继承与UICollectionReusableView的类----继续下一步定义标题头部的大小
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section{ CGSize size = CGSizeMake([[UIScreen mainScreen] bounds].size.width, 60); return size; }
最后一步在UICollectionViewDataSource代理有个方法
#pragma mark -- 设置头尾部内容 -(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath { UICollectionReusableView *reusableView = nil; #pragma mark -- 定制头部视图的内容 if (kind == UICollectionElementKindSectionHeader) { YYClassReusable *headerV = (YYClassReusable *)[collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:kheaderIdentifier forIndexPath:indexPath]; if (indexPath.section == 0) { [headerV setTitle:@"我是标题1"]; }else { [headerV setTitle:@"我是标题2"]; } reusableView = headerV; } return reusableView; }
基本就是上面这三个步骤,就可以完成了,,如果有什么需要补充的可以@我大家互相探讨
最后老规矩附上demo----http://pan.baidu.com/s/1eRmQamI
时间: 2024-10-28 21:06:44