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

Unable to change iOS 15 SwiftUI List Section header padding

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

但是当使用 Xcode13/iOS15 SDK 编译时,header 容器视图中似乎有额外的 left/right 20px + top/bottom 6px 填充。我什至创建了最低限度的测试应用程序,它似乎无法定制。

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

这是代码片段和屏幕截图:

        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())

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

终于自己找到了答案。

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