Вот как я сейчас обращаюсь с UI Element Colors
для темного режима с запасным вариантом для старых операционных систем.
extension UIColor {
class var mySystemBackground: UIColor {
if #available(iOS 13, *) {
return .systemBackground
} else {
return .white
}
}
}
В этом случаеsystemBackground
знает, когда он находится в темном режиме, а когда - в светлом, и это изменяется соответственно. Я хотел бы сделать что-то подобное, используя собственные цвета.
Например, у меня есть собственный желтый цвет, который я сейчас использую во всем своем приложении, и я хотел бы указать другой цвет для темного режима.
Вот код, который я думаю ...
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
}
}
}
Является ли это доступным способом обработки пользовательских цветов для темного режима в iOS13 с резервным вариантом для других операционных систем?