如何在 SwiftUI 中创建一个专门包含暗模式颜色的局部变量。我试图避免将每个视图的配色方案指定为深色以获得深色模式颜色。
例如在 UIKit 中,我可以使用此代码获取深色模式颜色
let traitCollection = UITraitCollection(userInterfaceStyle: .dark)
let darkModeBlueUIColor = UIColor.systemBlue.resolvedColor(with: traitCollection)
Run Code Online (Sandbox Code Playgroud)
我知道我可以从 UIColor 进行转换,但我想仅使用 SwiftUI 来指定它,以便它适用于所有平台。
let darkModeBlueSwiftuiColor = Color(darkModeBlueUIColor)
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情,涉及一个辅助函数
let darkModeBlueColor = Color.blue.darkModeColor
Run Code Online (Sandbox Code Playgroud)
要为特定颜色模式绘制颜色,只需在视图主体中使用它即可
Color("testColor")
.colorScheme(.dark) // << this !!
Run Code Online (Sandbox Code Playgroud)
如果您使用颜色变量,也可以完成相同的操作。
| 归档时间: |
|
| 查看次数: |
2506 次 |
| 最近记录: |