簡體   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