繁体   English   中英

当设备处于暗模式时,将应用程序切换到暗模式 | Swift iOS 13

[英]Issue switching app to Dark Mode when device is in dark mode | Swift iOS 13

当设备上已经启用暗模式并且我打开我的应用程序时,所有指定暗模式的颜色集都没有被应用:

但是当应用程序已经打开并从控制中心切换到暗模式时,以下代码会更改颜色:

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
    super.traitCollectionDidChange(previousTraitCollection)
    guard let previousTraitCollection = previousTraitCollection else {return}
    if #available(iOS 13.0, *) {
        if previousTraitCollection.hasDifferentColorAppearance(comparedTo: traitCollection) {
            //Dark Mode
            let inputBackground = UIColor(named: "TEST1backgroundColor")
            let inputPlaceholder = UIColor(named: "TEST1placeholderColor")

            passwordBack.layer.backgroundColor = inputBackground?.cgColor
            TextField1.placeholderColor = inputPlaceholder!
            TextField2.placeholderColor = inputPlaceholder!

            TextField1.textColor = inputPlaceholder!
            TextField2.textColor = inputPlaceholder!
    }
  }
}

启动已经处于暗模式时如何应用这种颜色变化?

CGColors不会对深色或浅色模式做出反应。 您没有显示passwordBack的声明,但假设它是UIView或子类,请将其backgroundColor属性直接设置为inputBackground而不是使用layer.backgroundColor

只是在这样的资产中使用了命名颜色的外观。 在此处输入图像描述 所以当应用程序打开并且黑暗模式开启时,所有颜色都会变成它们对应的黑暗外观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM