iOS 15 上未调用 PreferredStatusBarStyle

PreferredStatusBarStyle not called on iOS 15

提问人:Boyan Pavlov 提问时间:8/8/2023 更新时间:8/8/2023 访问量:51

问:

我手里有一个非常有趣的情况。如您所知,当您覆盖并设置所需的标志时,我们应该具有每个视图控制器状态栏样式。preferredStatusBarStyleUIViewControllerInfo.plisttrue

在 iOS 16 上一切都很完美,但出于某种原因,即使在调用 iOS 15 之后,它甚至没有进入覆盖的属性。setNeedsStatusBarAppearanceUpdate()

这可能与我包装在生命周期中的事实有关。UIViewControllerSwiftUI

@main
struct AppTestingApp: App {
    var body: some Scene {
        WindowGroup {
            Wrapper()
        }
    }
}

struct Wrapper: UIViewControllerRepresentable {
    func makeUIViewController(context: Context) -> some UIViewController {
        MyViewController()
    }

    func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {}
}

class MyViewController: UIViewController {
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        setNeedsStatusBarAppearanceUpdate()
    }

    override var preferredStatusBarStyle: UIStatusBarStyle {
        .lightContent
    }
}
iOS SwiftUI UIViewController 状态栏

评论


答: 暂无答案