获取深色风格的 UIColor
Get dark style of UIColor
我有这个 UIColor
:
左颜色显示在浅色外观
正确的颜色显示在深色外观
我希望能够在设备开启时获得正确的颜色 浅色外观,
并且能够在设备处于深色外观时获得左侧颜色。
我知道我可以复制它并创建另一种颜色,然后使用那个颜色,但是有没有办法从代码中获取 UIColor
变量的所有变化?谢谢
您可以使用 UIColor 方法 func resolvedColor(with traitCollection: UITraitCollection) -> UIColor
和 select 所需的特征集合:
extension UIColor {
var dark: UIColor { resolvedColor(with: .init(userInterfaceStyle: .dark)) }
var light: UIColor { resolvedColor(with: .init(userInterfaceStyle: .light)) }
}
例子
let systemPurple = UIColor.systemPurple // r 0,686 g 0,322 b 0,871 a 1,0
systemPurple.dark // r 0,749 g 0,353 b 0,949 a 1,0
systemPurple.light // r 0,686 g 0,322 b 0,871 a 1,0
我有这个 UIColor
:
左颜色显示在浅色外观
正确的颜色显示在深色外观
我希望能够在设备开启时获得正确的颜色 浅色外观,
并且能够在设备处于深色外观时获得左侧颜色。
我知道我可以复制它并创建另一种颜色,然后使用那个颜色,但是有没有办法从代码中获取 UIColor
变量的所有变化?谢谢
您可以使用 UIColor 方法 func resolvedColor(with traitCollection: UITraitCollection) -> UIColor
和 select 所需的特征集合:
extension UIColor {
var dark: UIColor { resolvedColor(with: .init(userInterfaceStyle: .dark)) }
var light: UIColor { resolvedColor(with: .init(userInterfaceStyle: .light)) }
}
例子
let systemPurple = UIColor.systemPurple // r 0,686 g 0,322 b 0,871 a 1,0
systemPurple.dark // r 0,749 g 0,353 b 0,949 a 1,0
systemPurple.light // r 0,686 g 0,322 b 0,871 a 1,0