文档章节

collectionView的每一组的组头部和尾部的设置

奋斗的青春年华
 奋斗的青春年华
发布于 2017/01/18 16:48
字数 221
阅读 33
收藏 0

- (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout{

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

    _flowLayout = flowLayout;

    _flowLayout.minimumLineSpacing = 3;

    _flowLayout.minimumInteritemSpacing = 3;

    _flowLayout.headerReferenceSize = CGSizeMake(SCREEN_WIDTH, 35);

    _flowLayout.footerReferenceSize = CGSizeMake(SCREEN_WIDTH, 10);

 

    self = [super initWithFrame:CGRectZero collectionViewLayout:_flowLayout];

   

    

    if (self) {

        

        self.showsVerticalScrollIndicator = NO;

        self.bounces = NO;

        self.alwaysBounceVertical = NO;

        self.scrollsToTop = YES;

       // self.pagingEnabled = NO;

        

    

        self.dataSource = self;

        self.delegate = self;

        

        //self.backgroundColor = [UIColor clearColor];

        self.backgroundColor = OtherLineColor;

        //注册cell单元格 

        [self registerClass:[CategoryCollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];

   //下面的注册组的头尾部view,这个必须实现,否则会崩   

        //注册header单元格

        [self registerClass:[CategoryCollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:ID];

        //注册footer单元格

        [self registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:footID];

 

    }

    return self;

}

 

//组的头尾部的代码实现

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{

    UICollectionReusableView *reusableView = nil;

//组的头部

    if (kind == UICollectionElementKindSectionHeader ) {

//CategoryCollectionReusableView是自定义的继承UICollectionReusableView的子类;

    CategoryCollectionReusableView *categoryCollectionReusableView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:ID forIndexPath:indexPath];

    if (indexPath.section == 0) {

        categoryCollectionReusableView.title = @"全部分类";

        

    }else if (indexPath.section == 1){

        categoryCollectionReusableView.title = @"热门品牌";

    }

        reusableView = categoryCollectionReusableView;

    }

    //组的尾部

    if (kind == UICollectionElementKindSectionFooter) {

        UICollectionReusableView *footer = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:footID forIndexPath:indexPath];

        reusableView = footer;

    }

    

    return reusableView;

}

© 著作权归作者所有

奋斗的青春年华
粉丝 1
博文 173
码字总数 104256
作品 0
浦东
私信 提问
UICollectionViewController的使用

分享一下collectionviewcontroller的用法,不足之处请大家补充 1.init生成controller时需要生成相应的layout,否则报错 - (instancetype)init { //创建一个流式布局对象 UICollectionViewFl...

鄙人浪淘沙
2016/08/29
1K
0
iOS流布局UICollectionView系列二——UICollectionView的代理方法

iOS流布局UICollectionView系列二——UICollectionView的代理方法 一、引言 在上一篇博客中,介绍了最基本的UICollectionView的使用和其中我们常用的属性和方法,也介绍了瀑布流布局的过程与...

珲少
2015/10/27
0
3
怎样在UICollectionView中添加Header和footer

在前面我们已经学过,每个collection view都必须有数据源为其提供内容。它的责任是为collection views完成以下的事情: 控制collection view的section数目 每个section中的item的个数 为特定...

人生天地间
2014/04/12
0
7
UICollectonView

(void)viewDidLoad { [super viewDidLoad]; [_plantCollectionView registerNib:[UINib nibWithNibName:@"PlantCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:CellIdentifier......

Gong_xiao
2015/11/12
0
0
iOS CollectionView 的那些事

UICollectionView是开发中用的比较多的一个控件,本文记录UICollectionView在开发中常用的方法总结,包括使用实现Grid布局、添加Header/Footer、自定义layout布局、UICollectionView的其它方...

aron1992
2018/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

趣谈预留实例券,一文搞懂云上省钱最新玩法

摘要: 一文搞懂时髦的预留实例券(RI) ECS近期推出了预留实例券(Reserved Instances),简称RI,这东西很cool,今天我们聊聊这个。 首先这篇Blog不是文档,读完后想详细了解文档的朋友请点...

zhaowei121
20分钟前
0
0
js 将json字符串转换为json对象的方法解析

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之...

城市之雾
21分钟前
1
0
国外青少年最喜爱的聊天 app,竟然是 Google Docs

简评: 这还真不是标题党,Google Docs 的协作中内置了实时聊天的功能,也可以进行 comments,颇有种现代「传纸条」的既视感。其实国内的石墨文档、腾讯文档等协作工具也有类似的效果,本文很...

极光推送
25分钟前
0
0
用zuul将微服务的多个swagger api文档聚合成一个文档

1.在每个服务的pom中添加以下依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId></dependency> 注意:仅仅需要添加这个就行。zuul负......

xtof
26分钟前
0
0
为什么取不到metamask的账号?

当你使用Metamask测试以太坊DApp时,如果出现莫名其妙的问题,检查一下web3.eth.accounts是否可以获取到账户,如果不能获取的话,那么最大的可能是你使用了新版的Metamask,并且默认启用了隐...

汇智网教程
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部