无法更改 iOS 15 SwiftUI 列表部分标题填充

Posted

技术标签:

【中文标题】无法更改 iOS 15 SwiftUI 列表部分标题填充【英文标题】:Unable to change iOS 15 SwiftUI List Section header padding 【发布时间】:2021-10-07 06:43:19 【问题描述】:

我们正在为列表部分的标题使用 SwiftUI 和自定义视图。

但是当使用 Xcode13/ios15 SDK 编译时,似乎在标题容器视图中固定了额外的左/右 20px + 上/下 6px 填充。我什至创建了最低限度的测试应用程序,它似乎无法自定义。

这与新引入的sectionHeaderTopPadding 无关,因此将其设置为 0 对我不起作用。我还从this post 尝试了.environment(\.defaultMinListHeaderHeight, 16),它也不会改变填充。

这里是sn-p和截图:

        List 
            Section(header:
                Text("Big header")
                        .foregroundColor(.red)
                        .background(Color.gray)
                        .frame(height: 30)
                        .padding(0)
            ) 
                Text("Hello, world! 1")
                    .padding()
                Text("Hello, world! 2")
                    .padding()
                Text("Hello, world! 3")
                    .padding()
            
        
        .environment(\.defaultMinListHeaderHeight, 1)
        .listStyle(PlainListStyle())

非常感谢您的帮助 :) 干杯

【问题讨论】:

【参考方案1】:

终于自己找到了答案。

在 iOS15 中,要删除节标题的填充,您需要像列表单元格一样使用.listRowInsets(EdgeInsets())

【讨论】:

非常感谢分享这个!如此简单,效果很好。

以上是关于无法更改 iOS 15 SwiftUI 列表部分标题填充的主要内容,如果未能解决你的问题,请参考以下文章

自定义“可搜索”搜索字段 SwiftUI iOS 15

SwiftUI 在新的 Foundation Formatters iOS 15 中更改语言

iOS 15 SwiftUI 3 Picker 绑定在更改@State 值后不起作用

有没有办法在 SwiftUI 中更改列表的背景颜色? 2020 (iOS 14)

列表上下文中 SwiftUI 按钮的样式差异:iOS 15 与更早版本

SwiftUI - 列表编辑模式 - 如何更改删除按钮标题?