有一天突然测验和我说页面布局有问题,但是在我的测验机中并没有复现这个问题。但是在测验那边确实复现了。
经过调研,如果你发现你的tableview 的section header总是有一片空白,那是由于
在iOS15后。UITableView多了一个特点sectionHeaderTopPadding,该值默认为22。
咱们只需要把这个值设置为0,就能处理顶部空白的问题。
一共有三种处理方式:
- 对于自己项目中的UITableView有自定义封装的话:
/// iOS 15 UITableView顶部空白处理方案
if (@available(iOS 15.0, *)) {
self.sectionHeaderTopPadding = 0.0;
} else {
// Fallback on earlier versions
}
- 全局设置
/// iOS 15 UITableView顶部空白处理方案
if (@available(iOS 15.0, *)) {
UITableView.appearance.sectionHeaderTopPadding = 0.0;
} else {
// Fallback on earlier versions
}
- 设置独自的页面
if (@available(iOS 15.0, *)) {
tableView.sectionHeaderTopPadding = 0.0;
} else {
// Fallback on earlier versions
}