更改 iOS15 中列表的背景颜色
Change background color of lists in iOS15
有了新的 XCode 13 和它的 iOS 15 支持,列表的呈现方式显然发生了变化。
现在 List 有一个额外的灰色背景。之前,背景是纯白色的,就像我希望的那样。当我添加文本等其他元素时,默认背景颜色仍然是白色。
有什么方法可以在不切换到 ForEach()
解决方案的情况下摆脱 List 的灰色包围?
我尝试在不同地方将背景颜色从灰色更改为白色,并添加额外的堆栈以希望覆盖默认背景颜色。
这个我想要全白没有周围的灰色:
struct ContentView: View {
var body: some View {
VStack {
Text("Test")
List {
ForEach(1..<20) { i in
Text(String(i))
}
}.frame(maxWidth: .infinity)
}
}
}
将 listStyle
更改为 .plain
。 iOS 14 的默认值是 .plain
,iOS 15 的默认值是 .insetGrouped
。
代码:
struct ContentView: View {
var body: some View {
VStack {
Text("Test")
List {
ForEach(1 ..< 20) { i in
Text(String(i))
}
}
.listStyle(.plain)
}
}
}
结果:
有了新的 XCode 13 和它的 iOS 15 支持,列表的呈现方式显然发生了变化。 现在 List 有一个额外的灰色背景。之前,背景是纯白色的,就像我希望的那样。当我添加文本等其他元素时,默认背景颜色仍然是白色。
有什么方法可以在不切换到 ForEach()
解决方案的情况下摆脱 List 的灰色包围?
我尝试在不同地方将背景颜色从灰色更改为白色,并添加额外的堆栈以希望覆盖默认背景颜色。
这个我想要全白没有周围的灰色:
struct ContentView: View {
var body: some View {
VStack {
Text("Test")
List {
ForEach(1..<20) { i in
Text(String(i))
}
}.frame(maxWidth: .infinity)
}
}
}
将 listStyle
更改为 .plain
。 iOS 14 的默认值是 .plain
,iOS 15 的默认值是 .insetGrouped
。
代码:
struct ContentView: View {
var body: some View {
VStack {
Text("Test")
List {
ForEach(1 ..< 20) { i in
Text(String(i))
}
}
.listStyle(.plain)
}
}
}
结果: