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时高度为系统默认高度;