iOS 15 - UItableView 顶部填充问题

iOS 15 - UItableView top padding issue

我将 iPhone 更新为 iOS 15 并将 Xcode 更新为 13 版本,现在我的应用程序在所有具有 tableView 的屏幕顶部都有一个奇怪的填充。

我该如何解决这个问题?

经过大量研究,我在 Apple 开发者文档中找到了答案: https://developer.apple.com/documentation/uikit/uitableview/3750914-sectionheadertoppadding?language=objc

所以,为了解决这个问题,我在我使用 UITableView 的所有屏幕中添加了这段代码:

if #available(iOS 15.0, *) {
   tableView.sectionHeaderTopPadding = .zero
}

有了这段代码,差距就消失了。

如果你想在所有视图中移除这个top padding,你可以在AppDelegate中调用这个代码:

if #available(iOS 15.0, *) {
    UITableView.appearance().sectionHeaderTopPadding = .zero
}

下面的代码解决了我的问题

 if #available(iOS 15, *) {
        UITableView.appearance().tableHeaderView = .init(frame: .init(x: 0, y: 0, width: 0, height: CGFloat.leastNonzeroMagnitude))
    }