UITableView的 header 和 footer 设置

UITableViewStylePlain

不实现footer、header设置方法,默认无header、footer;

方法名 iOS 11 < iOS 11
viewForHeaderInSection 只实现此方法header高度为系统默认 只实现此方法header设置无效
heightForHeaderInSection 只实现此方法header设置无效 只实现此方法header高度设置有效
同时实现 viewForHeaderInSection 和 heightForHeaderInSection 时,header高度设置有效

footer 设置同 header 设置

UITableViewStyleGrouped

不实现footer、header设置方法,默认有header、footer,高度为系统默认;

方法名 iOS 11 < iOS 11
viewForHeaderInSection 只实现此方法header高度为系统默认 只实现此方法header高度为系统默认
heightForHeaderInSection 只实现此方法header高度为系统默认 实现此方法header高度设置有效,不可为0
同时实现 viewForHeaderInSection 和 heightForHeaderInSection 时,header高度设置有效

footer设置同header设置

综上

1、iOS 11设置 header 高度必须同时实现 viewForHeaderInSection 和 heightForHeaderInSection ;
2、iOS 11 之前版本只设置 heightForHeaderInSection 即可设置 header 高度,只是在 UITableViewStyleGrouped 时无法设置 header 高度为0,设置0时高度为系统默认高度;

你可能感兴趣的:(UITableView的 header 和 footer 设置)