如何获得 SwiftUI 颜色的明暗模式版本?
Posted
技术标签:
【中文标题】如何获得 SwiftUI 颜色的明暗模式版本?【英文标题】:How to get the light or dark mode version of a SwiftUI Color? 【发布时间】:2021-07-14 00:42:23 【问题描述】:如何在 SwiftUI 中创建一个具有深色模式颜色的局部变量。 我试图避免将每个视图的配色方案指定为暗色以获得暗模式颜色。
例如在 UIKit 中,我可以使用此代码获取暗模式颜色
let traitCollection = UITraitCollection(userInterfaceStyle: .dark)
let darkModeBlueUIColor = UIColor.systemBlue.resolvedColor(with: traitCollection)
我知道我可以从 UIColor 转换,但我只想使用 SwiftUI 指定它,以便它适用于所有平台。
let darkModeBlueSwiftuiColor = Color(darkModeBlueUIColor)
我想做这样的涉及辅助函数的事情
let darkModeBlueColor = Color.blue.darkModeColor
【问题讨论】:
【参考方案1】:要为特定颜色模式绘制颜色,只需在视图主体中使用它
Color("testColor")
.colorScheme(.dark) // << this !!
如果你使用颜色变量也可以这样做。
【讨论】:
以上是关于如何获得 SwiftUI 颜色的明暗模式版本?的主要内容,如果未能解决你的问题,请参考以下文章