繁体   English   中英

隐藏 iOS Swift 上的状态栏

[英]Hide status bar on iOS Swift

在我的应用程序中,对于特定屏幕,我需要隐藏状态栏。 我的屏幕层次结构是:

MainScreen -> ScreenA -> ScreenB -> Screenc

在 My Screenc 中,我需要隐藏状态栏。 所以我这样做:

 override var prefersStatusBarHidden: Bool {
        return true
    }

它工作正常。 但是当我从Screenc推回我的ScreenB, ScreenA状态栏和我的导航栏重叠。 就像我的ScreenB, ScreenA titleright bar button一样,都与状态栏重叠。 但我的状态栏也显示在ScreenB, ScreenA中。

不知道为什么会这样。 在我的 plist 文件中,我有:

View controller-based status bar appearance : YES

我无法将其更改为否。 因为在我的应用程序中,我正在使用将肖像固定到特定的视图控制器。

如何解决这些问题的任何解决方案?

你可以做的是在出现和消失中显示和隐藏

   override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        navigationController?.isNavigationBarHidden = true
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        navigationController?.isNavigationBarHidden = false
    }

在 viewDidLoad() function 添加

self.navigationController?.isNavigationBarHidden = true

并在您之前的 ViewController on viewDidAppear 方法中添加

self.navigationController?.isNavigationBarHidden = false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM