7

在 iOS 15 beta 和 Xcode 13 beta 2 中,一些自定义 UITableViewControllers 决定在导航栏和表格视图之间添加填充。

重现步骤:

添加两个 UITableViewController,结构如下所示:UINavigationController -> UITableViewController -> UITableViewController。

添加表视图委托方法 heightForHeaderInSection 并返回一个小值。

在 viewDidLoad 或 viewWillAppear 方法中进行 API 调用。

解决问题的措施:

[self.tableView setSectionHeaderTopPadding:0.0f]; // Not working

[self.tableView setContentInset:-35.0f]; // Works but is not dynamic

在 Xcode 13 beta 2、iOS 15 beta 2、iPhone 12 Simulator、iPhone Xs 上测试

演示项目显示问题:Github 链接

标题部分应该只有 30 pt/px,但显然不是:

在此处输入图像描述

链接到原始 Apple Developer 论坛主题

4

1 回答 1

7

您可以尝试UITableView.sectionHeaderTopPadding像这样使用 -

if #available(iOS 15, *) {
    tableView.sectionHeaderTopPadding = 0
}
于 2021-07-05T07:10:01.380 回答