如何从 ColorSet 中获取明确的浅色或深色?
How to get explicitly light or dark color from ColorSet?
使用UIColor.init(named: "customColorSet")
从ColorSet中获取与当前userInterfaceStyle
相匹配的颜色是没有问题的。
但是,如何从颜色集中获取特定颜色,例如浅色还是深色?
我尝试使用 UIColor.init(named: "customColorSet", in: nil, compatibleWith: UITraitCollection(userInterfaceStyle: .light))
但它似乎不起作用,因为仍然返回与当前 userInterfaceStyle
匹配的颜色(在我的例子中是深色)。
您可以使用UIColor.resolvedColor(with:)
已测试:
let color = UIColor(named: "Color")?.resolvedColor(with: UITraitCollection(userInterfaceStyle: .light))
let rgb = color!.cgColor.components
使用UIColor.init(named: "customColorSet")
从ColorSet中获取与当前userInterfaceStyle
相匹配的颜色是没有问题的。
但是,如何从颜色集中获取特定颜色,例如浅色还是深色?
我尝试使用 UIColor.init(named: "customColorSet", in: nil, compatibleWith: UITraitCollection(userInterfaceStyle: .light))
但它似乎不起作用,因为仍然返回与当前 userInterfaceStyle
匹配的颜色(在我的例子中是深色)。
您可以使用UIColor.resolvedColor(with:)
已测试:
let color = UIColor(named: "Color")?.resolvedColor(with: UITraitCollection(userInterfaceStyle: .light))
let rgb = color!.cgColor.components