tableHeaderView和代理中viewForHeaderInSection

混淆的概念

  • tableView.tableHeaderView
  • (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
    之前在tableView的使用中一直以为以上两种方式创建headerView是一样的,今天才发现tableHeaderView是整个tableView的headerView,代理创建的是每个section的headerView。

补充:

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

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

在设置headView时,它的高度时自身frame决定的,所以没有sectionHeadViewHeight

你可能感兴趣的:(tableHeaderView和代理中viewForHeaderInSection)