混淆的概念
- tableView.tableHeaderView
- - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
之前在tableView的使用中一直以为以上两种方式创建headerView是一样的,今天才发现tableHeaderView是整个tableView的headerView,代理创建的是每个section的headerView。
补充:
- 使用第二种代理也能实现整个tableView的headerView
- tableFootererView也是这样的
使用区别
- tableHeaderView的高度是该视图自己frame定义的高度,只有一个
- section的headerView高度是通过代理定义的,每个section都有
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
效果显示
- 蓝色的是tableHeaderView,深灰色的是代理创建的sectionHeaderView
- 绿色的是tableFooterView, 黄色的是代理创建的sectionFooterView