swift - 如何为 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/
解决方案
推荐阅读
- mysql - 使用视图进行递归 cte
- postgresql - 我想用 postgresql 开发一个 adf fusion web 应用程序项目
- c - 我在接收 C 中的按键时遇到问题
- mysql - docker内部的django-mysql连接错误
- sql-server - Power BI 查询错误:Microsoft SQL:';' 附近的语法不正确。')' 附近的语法不正确
- javascript - 从javascript对象literel返回值
- postgresql - psql 身份验证失败并显示 --host=localhost
- javascript - 未捕获的类型错误:无法读取未定义的属性“1”(即使已定义)
- android - Android gradle 同步:无法获取资源 firebase-measurement-connector-impl-17.0.4-javadoc.jar
- javascript - useReducer/useState 更新太慢