iOS 对 UITableView section的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时高度为系统默认高度;

你可能感兴趣的:(iOS 对 UITableView section的header和footer高度设置)