Вот как я сейчас работаю с UI Element Colors
для Dark Mode с отступлением для старых операционных систем.
extension UIColor {
class var mySystemBackground: UIColor {
if #available(iOS 13, *) {
return .systemBackground
} else {
return .white
}
}
}
В этом случае systemBackground
знает, когда он находится в Dark Mode, а когда - вLight Mode и меняется соответственно. Я хотел бы сделать что-то похожее, используя пользовательские цвета.
Например, у меня есть собственный желтый цвет, который я сейчас использую в своем приложении, и я хотел бы предоставить другой цвет для использования в темном режиме.
Вот код, о котором я думаю ...
extension UIColor{
class var mySystemYellowColor: UIColor {
// default light-color
var myYellow = UIColor(red: 254/255, green: 219/255, blue: 2/255, alpha: 1.0) /* #fedb02 */
if #available(iOS 13.0, *) {
if traitCollection.userInterfaceStyle == .light {
return myYellow
} else {
// color for dark mode in iOS 13.0
myYellow = UIColor(red: 242/255, green: 125/255, blue: 0/255, alpha: 1.0) /* #f27d00 */
}
return myYellow
} else {
return myYellow
}
}
}
Это доступный способ обработки пользовательских цветов для Dark Mode в iOS13 с откатом для других операционных систем?