iOS 11.0 如果未实现设置tableView的组头、组尾的高度的代理方法,却又不想显示组头、组尾,那么需要设置组头、组尾的预估高度为0就可以了。
// 使用全局设置tableView的组头、组尾的预估高度为0
[[UITableView appearance] setEstimatedSectionHeaderHeight:0];
[[UITableView appearance] setEstimatedSectionFooterHeight:0];
如果不这样设置,在tableView为style为UITableViewStyleGrouped时,则会默认显示组头、组尾。
然而,在 iOS 11.0以下设置tableView的组头、组尾预估高度为0时,会导致程序崩溃。
Pasted Graphic 7.png
解决办法:设置tableView组头、组尾的预估高度为1.5
[[UITableView appearance] setEstimatedSectionHeaderHeight:1.5];
[[UITableView appearance] setEstimatedSectionFooterHeight:1.5];
如果不想显示组头、组尾,则需要实现实现tableView的组头、组尾的高度的代理方法。
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return CGFLOAT_MIN;
}
- (CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return CGFLOAT_MIN;
}
如果没有实现代理方法,则此时显示默认高度的组头、组尾。
网友评论