无法更改 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())
。
我们正在使用 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())
。