iOS开发tableView的tableHeaderView和代理中viewForHeaderInSection的区别

混淆的概念

  • tableView.tableHeaderView 
  • - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

之前在tableView的使用中一直以为以上两种方式创建headerView是一样的,今天才发现tableHeaderView是整个tableView的headerView,代理创建的是每个section的headerView。

补充:

  1. 使用第二种代理也能实现整个tableView的headerView
  2. tableFootererView也是这样的

使用区别

  • tableHeaderView的高度是该视图自己frame定义的高度,只有一个
  • section的headerView高度是通过代理定义的,每个section都有

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 

效果显示

  • 蓝色的是tableHeaderView,深灰色的是代理创建的sectionHeaderView
  • 绿色的是tableFooterView, 黄色的是代理创建的sectionFooterView

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值