我已经花了很多时间试图找出一种使用新生命周期SwiftUI App将statusBarStyle更改为亮/暗的方法。
关于状态栏的最新帖子教如何隐藏它,但我不想这样做,我只需要将其更改为深色或浅色即可。
要更改颜色,我发现的最新方法是打开SceneDelegate.swift并更改window.rootViewController以使用我自己的HostingController,但它仅适用于使用UIKit App Delegate Lifecycle 的项目。使用SwiftUI App Lifecycle,SceneDelegate.swift不会生成,那么我在哪里可以做呢?
我可以通过 Xcode 界面上的常规设置来完成。我的问题是如何通过代码动态地做到这一点。
以下是我到目前为止所得到的。
一切.swift
import Foundation
import SwiftUI
class LocalStatusBarStyle { // style proxy to be stored in Environment
fileprivate var getter: () -> UIStatusBarStyle = { .default }
fileprivate var setter: (UIStatusBarStyle) -> Void = {_ in}
var currentStyle: UIStatusBarStyle …Run Code Online (Sandbox Code Playgroud)