【问题标题】:How to get the light or dark mode version of a SwiftUI Color?如何获得 SwiftUI 颜色的明暗模式版本?
【发布时间】: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

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    要为特定颜色模式绘制颜色,只需在视图主体中使用它

        Color("testColor")
            .colorScheme(.dark)   // << this !!
    

    如果你使用颜色变量也可以这样做。

    【讨论】:

      猜你喜欢
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多