列表的 SwiftUI SystemColors
SwiftUI SystemColors for Lists
我在 中有一个列表 我想突出显示选定的行。
这适用于:
struct ContentView: View {
var body: some View {
List {
Line(text: "Line 1")
Line(text: "Line 2")
Line(text: "Line 3",selected: true)
Line(text: "Line 4")
}
}
}
struct Line: View {
var text :String
var selected = false
var body: some View {
Text(text)
.listRowBackground(selected ? Color.blue : Color.white)
.foregroundColor(selected ? Color.white : Color.black)
}
}
但是当进入暗模式时,它看起来很难看。
当然,我可以检测暗模式并明确设置颜色,但我正在寻找一种方法将 "not selected" 行的颜色设置为列表的标准前景色和背景色。
我怎样才能得到这些 "Systemcolors"
访问系统颜色的一种简单方法是使用 Color(UIColor),如下所示:
var body: some View {
Text(text)
.listRowBackground(Color(.systemBackground))
.foregroundColor(Color(.label))
}
我在 中有一个列表 我想突出显示选定的行。
这适用于:
struct ContentView: View {
var body: some View {
List {
Line(text: "Line 1")
Line(text: "Line 2")
Line(text: "Line 3",selected: true)
Line(text: "Line 4")
}
}
}
struct Line: View {
var text :String
var selected = false
var body: some View {
Text(text)
.listRowBackground(selected ? Color.blue : Color.white)
.foregroundColor(selected ? Color.white : Color.black)
}
}
但是当进入暗模式时,它看起来很难看。
当然,我可以检测暗模式并明确设置颜色,但我正在寻找一种方法将 "not selected" 行的颜色设置为列表的标准前景色和背景色。
我怎样才能得到这些 "Systemcolors"
访问系统颜色的一种简单方法是使用 Color(UIColor),如下所示:
var body: some View {
Text(text)
.listRowBackground(Color(.systemBackground))
.foregroundColor(Color(.label))
}