Usando UIColor.init(named: "customColorSet") no hay problema para obtener un color de ColorSet que coincida con el userInterfaceStyle actual.

Sin embargo, ¿cómo puedo obtener un color específico del conjunto de colores, p. ej. el color claro u oscuro?

Intenté usar UIColor.init(named: "customColorSet", in: nil, compatibleWith: UITraitCollection(userInterfaceStyle: .light)) pero no parece funcionar, porque todavía se devuelve el color que coincide con el userInterfaceStyle actual (oscuro en mi caso).

1
Andrei Herford 1 sep. 2020 a las 14:16

1 respuesta

La mejor respuesta

Puedes usar UIColor.resolvedColor(with:)

Probada:

let color = UIColor(named: "Color")?.resolvedColor(with: UITraitCollection(userInterfaceStyle: .light))
let rgb = color!.cgColor.components
2
shim 27 nov. 2020 a las 17:15