iOS 15 导航栏和表格视图之间的差距

问题描述

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

重现步骤:

添加两个 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 模拟器、iPhone Xs 上测试

显示问题的演示项目:Github link

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

enter image description here

Link to original Apple Developer forum thread

解决方法

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

if #available(iOS 15,*) {
    tableView.sectionHeaderTopPadding = 0
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...