NScolorDocument,“从资产创建的颜色可以自动适应系统外观更改”。但是,我想在特定的系统外观中手动获得其颜色。例如,如下所示,我在资产目录中创建了一个颜色集。我想在光模式下使用其深色模式颜色,也许还有一些诸如Color
。
我的团队遇到了同样的问题,我们提出了一个尴尬的解决方案(但看似功能很强)。
在extension UIColor {
var lightModeVariant: UIColor {
resolvedColor(with: UITraitCollection(userInterfaceStyle: .light))
}
var darkModeVariant: UIColor {
resolvedColor(with: UITraitCollection(userInterfaceStyle: .dark))
}
}
上使用方便的方法,该方法使我们可以在给定外观的上下文中运行代码,以及一个助手类,以将数据从其闭合之外航行。