UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...

前序

最近在一家公司实习,学习一些ios的知识。因为以前没有使用过UICollectionView,所以带我的导师让我仿照公司APP中的一个UICollectionView自己做一个练练手。期间遇到了一些问题:我们知道我们一般在UITableView中只设置一个headerView与footerView,但是我在UICollection中使用的时候,出现了每个Section中都有一个headerView和footerView。其实这是正确的,并没有什么错误,只是不是我们想要的结果(我只想一个UICollectionView只有一个headerView和footerView),所以我们要做一些处理。

了解Section、indexPath、row的区别

row和section是在UITableView中定义的

indexPath.section:代表了单元格(Cell)的第几个分区

indexPath.row:代表分区的第几行

一定要理解上面这两个概念,因为这很重要。

一般情况下我们使用UICollectionView的时候并没有设置分区,我们只是使用一个分区,系统默认的也是一个分区。

正是因为只有一个分区,所以我们才会显示一个headerView和一个footerView。如果我们设置了几个分区的话,那么所有的分区都会有一个headerView和footerView。这里我就要说一下UICollectionView和UITableView加载headerView与footerView的区别。

UITableView加载headerView与footerView

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

这里后面的参数是section;

UICollectionView加载headerView与footerView

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

这后面的参数是indexPath;

对于UITableView中headerView、footerView的加载方法网上已经有很多了,这里就不做介绍了!下面来说说UICollectionView的加载。

 

解决方案

正如上面说的,如果我们只有一个分区的话,那我们可以不用进行判断,但是当我们有几个分区的时候,我们要在加载headerView和footerView的时候加以判断。

 

你以为这样就可以了吗?如果你只是设置这个的话,那么你就错了,除此之外你还要设置布局代码。

结束语

以上就是本人的解决方案,也不知道理解的是否到位,希望您可以指出我的错误之处,大家一起相互学习。最后,谢谢您的观看。



作者:KingTortoise
链接:https://www.jianshu.com/p/c540e5d92201
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://my.oschina.net/huqiji/blog/2251098

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值