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

kx1ctssn  于 2023-03-14  发布在  iOS
关注(0)|答案(9)|浏览(148)

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

daupos2t

daupos2t1#

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

tableView.sectionHeaderTopPadding = 0.0

**注:**这仅适用于UITableView.Style.plain

0lvr5msh

0lvr5msh2#

用于在应用程序中的所有位置应用更改

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

优选为X1MON1X。

d8tt03nd

d8tt03nd3#

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

if (@available(iOS 15.0, *))
{
    UITableView.appearance.sectionHeaderTopPadding = 0;
}
e0uiprwp

e0uiprwp4#

这是iOS 15. https://developer.apple.com/documentation/uikit/uitableview/3750914-sectionheadertoppadding中UITableView的新示例属性
sectionHeaderTopPadding,其指定每个段报头上方的填充量。
要删除填充,请使用以下代码

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

要删除应用程序中所有位置的填充,请在AppDelegate中使用以下代码

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

hyrbngr75#

obj-c的全局方式:

if (@available(iOS 15.0, *)) {
    [[UITableView appearance] setSectionHeaderTopPadding:0.0f];
}
r3i60tvu

r3i60tvu6#

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

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

relj7zay7#

如果您像我一样在设置sectionHeaderTopPadding后在一些分组样式tableView中遇到麻烦,但仍然看到第一部分的恼人间隙,只需在VC的viewDidLoad中添加以下内容:

tableView.tableHeaderView = UIView(frame: CGRect(x: .zero, y: .zero, width: .zero, height: CGFloat.leastNonzeroMagnitude))

here中找到

lnvxswe2

lnvxswe28#

对于Objective C版本,您可以使用以下代码;

if (@available(iOS 15.0, *)) {
        [_tableViewC setSectionHeaderTopPadding:0.0];
        
};

其中tableViewC是目标表视图。

ne5o7dgx

ne5o7dgx9#

对于Xamarin表单,您可以在FinishedLaunching中的LoadApplication调用之后添加以下代码:

if(UIDevice.CurrentDevice.CheckSystemVersion(15, 0))
{
    void_objc_msgSend_nfloat(UITableView.Appearance.Handle, ObjCRuntime.Selector.GetHandle("setSectionHeaderTopPadding:"), 0);
}

我错过了版本检查,应用程序在任何低于iOS15的地方崩溃,没有通过TestFlight获得崩溃报告。

相关问题