首页 > 解决方案 > 如何为 iOS 12 及更低版本启用深色主题

问题描述

我已经添加了对 iOS13 的支持,其中有两个开关:第一个用于基于系统的自动主题,另一个用于打开和关闭深色主题,并使用给定的方法进行切换:

func changeThemeTo(theme: String){
        switch theme {
        case "dark":
            UIApplication.shared.windows.forEach { window in
                if #available(iOS 13.0, *) {
                    window.overrideUserInterfaceStyle = .dark
                } else {
                    // Fallback on earlier versions
                }
            }
        case "light":
            UIApplication.shared.windows.forEach { window in
                if #available(iOS 13.0, *) {
                    window.overrideUserInterfaceStyle = .light
                } else {
                    // Fallback on earlier versions
                }
            }
        case "auto":
            UIApplication.shared.windows.forEach { window in
                if #available(iOS 13.0, *) {
                    window.overrideUserInterfaceStyle = .unspecified
                } else {
                    // Fallback on earlier versions
                }
            }
        default: break
        }
}

iOS 13 一切正常,但现在我需要启用它以使其适用于低于 13 的 iOS。有什么我可以做的类似的事情,或者我应该像在https://www.onswiftwingswindow.overrideUserInterfaceStyle = .dark上那样完全改变切换逻辑吗.com/posts/dark-mode/

标签: swiftuikitdarkmode

解决方案


推荐阅读