iOS 15 中表格视图标题上方的额外填充

Jak*_*lář 4 uitableview ios ios15

如何更改UITableView已开始出现在 iOS 15 中的部分标题上方的额外填充?

Has*_*ssy 99

用于在应用程序中的任何地方应用更改

if #available(iOS 15.0, *) {
    UITableView.appearance().sectionHeaderTopPadding = 0.0
}
Run Code Online (Sandbox Code Playgroud)

最好在AppDelegate.


Aac*_*ace 30

将其放入主 didFinishLaunchingWithOptions 中以全局修复它:

if (@available(iOS 15.0, *))
{
    UITableView.appearance.sectionHeaderTopPadding = 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 如果引入这样的新属性,为什么不将其默认为 0.0 以使其向后兼容呢?您不应该期望每个开发人员都知道操作系统版本之间的每一个微小变化,这太疯狂了。 (9认同)
  • if #available(iOS 15.0, *) { UITableView.appearance().sectionHeaderTopPadding = 0 } (7认同)
  • iOS 15 中还有其他类似的惊喜吗? (2认同)

Med*_*dhi 11

obj-c 的全局方式:

if (@available(iOS 15.0, *)) {
    [[UITableView appearance] setSectionHeaderTopPadding:0.0f];
}
Run Code Online (Sandbox Code Playgroud)


Ash*_*shu 11

这是 iOS 15 中 UITableView 的新实例属性。 https://developer.apple.com/documentation/uikit/uitableview/3750914-sectionheadertoppadding

sectionHeaderTopPadding它指定每个节标题上方的填充量。

要删除填充,请使用以下代码

if #available(iOS 15.0, *) {
    self.tableView.sectionHeaderTopPadding = 0.0 
}
Run Code Online (Sandbox Code Playgroud)

要从应用程序中的任何位置删除填充,请使用以下代码AppDelegate

if #available(iOS 15.0, *) {
    UITableView.appearance().sectionHeaderTopPadding = 0.0
}
Run Code Online (Sandbox Code Playgroud)


Jak*_*lář 5

从 iOS 15 开始,UITableView包含一个名为的新属性sectionHeaderTopPadding,用于指定每个部分标题上方的填充量。

tableView.sectionHeaderTopPadding = 0.0
Run Code Online (Sandbox Code Playgroud)

  • 为什么不应该将其设置为默认值 0?在将我的应用程序迁移到 SDK 15 时,我摸索了一小时 (62认同)
  • 无论如何,每个部分都要做这个吗? (2认同)
  • @SazzadHissainKhan 是的!我有类似的约束并使用了 `tableView.setValue(0, forKey: "sectionHeaderTopPadding")` (2认同)

小智 5

将其放在主要的 didFinishLaunchingWithOptions 中以全局修复它

if (@available(iOS 15.0, *)) {
    [[UITableView appearance] setSectionHeaderTopPadding:0.0f];
}
if #available(iOS 15.0, *) {
    UITableView.appearance().sectionHeaderTopPadding = 0.0
}
Run Code Online (Sandbox Code Playgroud)