iOS 15下多分区UITableView分区之间出现额外空白间距如何解决?
UITableView 多分区额外空白间距解决方案
问题原因
iOS 15 为 UITableView 新增了 sectionHeaderTopPadding 属性,默认值为系统自动计算的非0值,该属性会在每个分区的头部上方额外增加一段间距,这就是你看到的无视图空白区域,和footer、tableView style配置无关。
解决方案
方案1:全局生效配置
在App启动入口(比如 AppDelegate 的 didFinishLaunchingWithOptions 方法中)添加以下代码,全局修改所有 UITableView 的默认表现:
if #available(iOS 15.0, *) { UITableView.appearance().sectionHeaderTopPadding = 0 }
方案2:单个TableView生效
只需要在对应ViewController的 viewDidLoad 中添加针对当前tableView的配置即可,修改后你的 viewDidLoad 代码如下:
override func viewDidLoad() { super.viewDidLoad() tableView.separatorColor = .yellow // 新增以下代码 if #available(iOS 15.0, *) { tableView.sectionHeaderTopPadding = 0 } }
修改完成后iOS 15下的运行表现就会和iOS 14完全一致,不会再出现额外的空白间距。
内容的提问来源于stack exchange,提问作者lazarevzubov
相关产品推荐
相关产品推荐

