gpt4 book ai didi

ios - 在 iOS 9 的一个 View Controller 上隐藏状态栏

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:57:07 24 4
gpt4 key购买 nike

我有 ViewController1,它使用 segue 来显示 ViewController2。它们都是 UINavigationController 的一部分。

我在 ViewController2 上有一个按钮,它应该隐藏状态栏。

我经历了几个与此相关的 Stackoverflow 问题并发现了以下内容,但仍然无法正常工作:

  • 在 Info.plist 中将“View controller-based status bar appearance”设置为 true

  • 在 ViewController2 中,我添加了一个方法 override func prefersStatusBarHidden() -> Bool 并返回 truefalse(基于按钮是否被点击)

  • 当单击按钮以强制拾取状态栏更改时,我调用 setNeedsStatusBarAppearanceUpdate

  • 我阅读了有关 modalPresentationCapturesStatusBarAppearance 的内容(需要启用它)。我尝试在 ViewController2 上将其设置为 true prepareForSegue

但是,状态栏仍然显示并且 prefersStatusBarHidden 从未被调用。

最佳答案

问题是您的 View Controller 位于 UINavigationController 界面中。因此,运行时就状态栏咨询的是导航 Controller ,而不是您的 View Controller 。

但是,导航 Controller 会依次咨询您的 View Controller ,因此只需说 self.navigationController?.setNeedsStatusBarAppearanceUpdate() 即可启动。它对我来说很好用:

enter image description here

关于ios - 在 iOS 9 的一个 View Controller 上隐藏状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671257/

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