【发布时间】:2020-02-10 21:39:34
【问题描述】:
根据我对 WWDC 2019 视频“在 iOS 中实现暗模式”的理解,动态颜色使用 UITraitCollection.current 解决。更新后的 trait 集合仅在某些方法中可用,例如 draw、viewWillLayoutSubviews 等。
因此,例如,如果我在 viewDidLoad 中使用动态颜色,则颜色不应在模式切换时自动更新。但是,它们正在更新
下面是我的代码:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
view.backgroundColor = .systemBackground
let label = UILabel(frame: CGRect(x: 100, y: 100, width: 100, height: 20))
label.textColor = UIColor.label
label.text = "Label text"
view.addSubview(label)
}
}
我在模拟器中切换模式的方式是设置->开发者->深色外观。然后我将我的应用程序带到了前台。
颜色是如何自动更新的?
注意:我没有在我的设备上进行测试。
【问题讨论】:
标签: ios-darkmode