使用SwiftUI中的简单List
,如何更改/删除节标题的标准背景颜色
struct ContentView : View {
var body: some View {
List {
ForEach(0...3) { section in
Section(header: Text("Section")) {
ForEach(0...3) { row in
Text("Row")
}
}
}
}
}
}
最佳答案
在beta 4中,不推荐使用relativeWidth。更新了代码以反射(reflect)这一点。
不幸的是,没有快速的参数可以设置背景颜色。但是,您仍然可以这样做:
import SwiftUI
struct ContentView : View {
var body: some View {
List {
ForEach(0...3) { section in
Section(header:
CustomHeader(
name: "Section Name",
color: Color.yellow
)
) {
ForEach(0...3) { row in
Text("Row")
}
}
}
}
}
}
struct CustomHeader: View {
let name: String
let color: Color
var body: some View {
VStack {
Spacer()
HStack {
Text(name)
Spacer()
}
Spacer()
}
.padding(0).background(FillAll(color: color))
}
}
struct FillAll: View {
let color: Color
var body: some View {
GeometryReader { proxy in
self.color.frame(width: proxy.size.width * 1.3).fixedSize()
}
}
}
关于swiftui - 在SwiftUI列表中删除/更改节标题背景颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56867334/