iOS 15 的 UITableView又新增了一个新属性:sectionHeaderTopPadding 会给每一个section header 增加一个默认高度,当我们 使用 UITableViewStylePlain 初始化 UITableView的时候,就会发现,系统给section header增高了22像素。
解决办法很简单:
if (@available(iOS 15.0, *)) {
tableView.sectionHeaderTopPadding = 0;
}
由于这里的sectionHeaderTopPadding是新增加的api,对于低版本Xcode会报错,这里可以加入宏判断Xcode支持的版本,算是变相解决吧!
如果你的Xcode版本是12.5.1 那么你可以这么写:
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_14_5
if (@available(iOS 15.0, *)) {
self.tableView.sectionHeaderTopPadding = 0;
}
#endif
因为12.5.1版本中最高也就定义了__IPHONE_14_5 ,只要比它大的,就应该是Xcode 13了吧!