gpt4 book ai didi

ios - 如何以编程方式更改 statusBarStyle?

转载 作者:行者123 更新时间:2023-11-28 23:24:15 25 4
gpt4 key购买 nike

我正在为 iOS13 构建一个应用程序。我想根据用户可以选择的配色方案更改状态栏的文本颜色。貌似状态栏的文字颜色不能直接改,所以我尝试改改statusBarStyle。

首先我尝试:

var myStatusBarStyle = UIStatusBarStyle.default { didSet { setNeedsStatusBarAppearanceUpdate() } }
override var preferredStatusBarStyle : UIStatusBarStyle { return myStatusBarStyle; }

但是没有用。

然后我试试:

UIApplication.shared.statusBarStyle = myStatusBarStyle;

它确实可以完成工作!但是 Xcode 给出了一个警告:“'statusBarStyle' 在 iOS 13.0 中被弃用:使用窗口场景的 statusBarManager 属性 insted。”

所以,在 sceneWillEnterForeground(_ scene: UIScene) 我尝试:

guard let ws = (scene as? UIWindowScene) else { return }
if let t = ws.statusBarManager { print(t.statusBarStyle) }

不幸的是,t.statusBarStyle 是只读的。

现在,我该怎么办?ps:我在 Main.storyboard 中没有导航栏或标签栏。

最佳答案

  • 在 iOS 13 中,我们不允许这样做,但总有逃逸根……我用过
    self.navigationController?.navigationBar.barStyle = .black

使状态栏变黑并且有效

您可以根据需要使用各种选项代替黑色(.default、.blackTranslucent、.blackOpaque)代替.black

关于ios - 如何以编程方式更改 statusBarStyle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59113431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com