Как мы можем создать новую Color
программно в соответствии с системной темой (темный / светлый режим). Что я могу сделать, это следующее, но есть ли способ заставить его работать непосредственно внутри расширения до Color
?
extension UIColor {
static let slightlyOff = UIColor { (traitCollection: UITraitCollection) -> UIColor in
switch traitCollection.userInterfaceStyle {
case .light: return UIColor.red
case .dark: return UIColor.yellow
default: return UIColor.green
}
}
}
extension Color{
static let slightlyOff = Color(UIColor.slightlyOff)
}
struct ContentView: View {
@EnvironmentObject var state:State
var body:some View {
Text("Dynamic Color").foregroundColor(Color.slightlyOff)
}
}