iOS13:如何在资产目录中为提升的用户界面级别指定颜色

Tom*_*ina 5 uicolor uitraitcollection ios13 ios-darkmode

iOS 13 为我们带来了UIUserInterfaceLevel,可以是.base.elevatedUIView当在黑暗模式下使用升高的级别时,系统似乎会自动调整提供的颜色。

但是,似乎没有办法在资产目录中手动指定.elevated颜色,是吗?

唯一的方法似乎是通过新的 UIColor 构造函数

UIColor.init { (traits) -> UIColor in
   traits.userInterfaceLevel == .elevated ? UIColor(named: "myColor-elevated")! : UIColor(named: "myColor")!
}
Run Code Online (Sandbox Code Playgroud)