ios - 如何在 Swift 中处理暗模式的自定义颜色
问题描述
以下是我目前处理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 中处理暗模式自定义颜色的一种平易近人的方式吗?
解决方案
推荐阅读
- apache - 使用 mod_lua (apache http 2.4) 获取 POST 请求正文并解码
- go - 如何在golang中解析命令行格式的字符串
- typescript - 如何指定点击回调?
- node.js - JetBrains WebStorm npm 模块自动完成功能不起作用
- java - ImportBeanDefinitionRegistrar 在自动配置期间创建的 bean 不适用于所有 bean 后处理器
- azure - Azure 自动化帐户 - Runbook 错误 - 对象引用未设置为对象的实例
- mysql - 使用“where”和“order by”子句为我的 sql 表创建索引以进行查询
- powershell - 如何在 PowerShell 中捕获外部命令进度?
- react-native - 无法为链接库解析 React Native App 中的模块
- python - Django DateTimeField auto_now_add 属性不起作用