分组tableview,设置tableHeaderView后,第一个section的header不显示原因

如题:问题场景描述

UITableView的style是Grouped,并且设置了tableHeaderView,第一个section(通过断点可知方法 viewForHeaderInSection: 中,是从 section等于1开始的,实际应该是从0开始),此时第一个 section 没有 header

解决方式

1、 初始化 tableview 时候,可以将style改为UITableViewStylePlain。
2、 如果保留原来分组样式不变,在代理方法-tableView:heightForHeaderInSection:设置一个高度就可以了,不能用self.tableView.sectionHeaderHeight 的方法,也不能在storyboard里面设置。

究其原因应该是,tableview 为分组样式,并且只设置了_tableView.sectionHeaderHeight = 48.;,没有重写代理方法-tableView:heightForHeaderInSection:在里面返回高度,造成的。

效果图如下:
红色框里面为 section 的 header,黄色框里面的为 tableHeaderView

分组tableview,设置tableHeaderView后,第一个section的header不显示原因_第1张图片
问题图1
分组tableview,设置tableHeaderView后,第一个section的header不显示原因_第2张图片
修改后图2

你可能感兴趣的:(分组tableview,设置tableHeaderView后,第一个section的header不显示原因)