相关疑难解决方法(0)

Swift/iOS13 - 在 ViewController 中访问 SceneDelegate 窗口变量

是否可以从 ViewController 中的 SceneDelegate 访问窗口变量?基本上我需要一个替代方案,UIApplication.shared.delegate.window但找不到任何东西

ios swift ios13

13
推荐指数
1
解决办法
8470
查看次数

如何在 iOS 13 中的 Swift 中立即更改状态栏文本颜色

我正在使用 Swift 5.1 和 Xcode 11.1,目前我已经完成了暗模式设计。

用户使用此代码更改设置页面中的主题样式后,主题会立即更新。

guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
   return
}
appDelegate.changeTheme(themeVal)

// App Delegate File
...
func changeTheme(themeVal: String) {
   if #available(iOS 13.0, *) {
       switch AppState.appThemeStyle {
       case "dark":
           window?.overrideUserInterfaceStyle = .dark
           break
       case "light":
           window?.overrideUserInterfaceStyle = .light
           break
       default:
           window?.overrideUserInterfaceStyle = .unspecified
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

但问题是我看不到状态栏文本,因为状态栏文本颜色和视图颜色相同。

有人可以建议我好的解决方案吗?谢谢。

ios swift ios-darkmode

3
推荐指数
1
解决办法
4340
查看次数

标签 统计

ios ×2

swift ×2

ios-darkmode ×1

ios13 ×1