iOS 15:删除 UITableView 单元格前的空 space
iOS 15: Remove empty space before cells in UITableView
我正在使用 UITableView
作为多部分列表。我看到的问题是每个部分的单元格上方有一个 space,即使我将 tableView(_:heightForHeaderInSection:)
设置为 0。即使只有一个部分并且我将 tableView(_:viewForHeaderInSection:)
设置为是 nil
.
我已经尝试了 Whosebug 上与插图 overrides/edge 扩展相关的所有其他答案,但 none 有效。
示例:
检查您是否仅在 iOS 15 上看到此问题。如果是,这可能是由新引入的 UITableView.sectionHeaderTopPadding
属性 引起的。您需要将此值设置为 0
以删除节标题前的间距:
let tableView = UITableView()
tableView.sectionHeaderTopPadding = 0
// Etc.
此 属性 仅在 iOS 15 中可用,因此您需要 API 检查是否为早期版本构建。
如果您不在 iOS 15,this question 有这个问题的大部分答案。
另一种方法是设置在 UITableView 的 UIAppearance
代理中找到的 sectionHeaderTopPadding
值,这确保该值将应用于应用程序中的每个 UITableView 实例:
if #available(iOS 15.0, *) {
UITableView.appearance().sectionHeaderTopPadding = CGFloat(0)
}
我正在使用 UITableView
作为多部分列表。我看到的问题是每个部分的单元格上方有一个 space,即使我将 tableView(_:heightForHeaderInSection:)
设置为 0。即使只有一个部分并且我将 tableView(_:viewForHeaderInSection:)
设置为是 nil
.
我已经尝试了 Whosebug 上与插图 overrides/edge 扩展相关的所有其他答案,但 none 有效。
示例:
检查您是否仅在 iOS 15 上看到此问题。如果是,这可能是由新引入的 UITableView.sectionHeaderTopPadding
属性 引起的。您需要将此值设置为 0
以删除节标题前的间距:
let tableView = UITableView()
tableView.sectionHeaderTopPadding = 0
// Etc.
此 属性 仅在 iOS 15 中可用,因此您需要 API 检查是否为早期版本构建。
如果您不在 iOS 15,this question 有这个问题的大部分答案。
另一种方法是设置在 UITableView 的 UIAppearance
代理中找到的 sectionHeaderTopPadding
值,这确保该值将应用于应用程序中的每个 UITableView 实例:
if #available(iOS 15.0, *) {
UITableView.appearance().sectionHeaderTopPadding = CGFloat(0)
}