如何从 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