【问题标题】:Naviagtionbar pushed up while hiding status bar隐藏状态栏时导航栏向上推
【发布时间】:2017-02-02 16:17:27
【问题描述】:

在我的 rootViewController 中,我隐藏了状态栏。当我尝试推送新的视图控制器并弹回时,导航栏被向上推,导航栏和内容视图之间存在间隙。这是导航栏的截图。

这是rootViewController中的代码

 override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.statusBarHidden = true
    self.navigationController?.setNavigationBarHidden(true, animated: true)
}

private var statusBarHidden = true {
    didSet {
            self.setNeedsStatusBarAppearanceUpdate()
    }
}

override var prefersStatusBarHidden: Bool {
    get {
        return statusBarHidden
    }
}

【问题讨论】:

  • 为什么在代码中隐藏导航栏?
  • @Timmy 因为我需要隐藏导航栏和状态栏
  • 那么问题是导航栏没有隐藏在您显示的视图控制器的第一张图片中?
  • @Timmy 第一张图片是在使用 interactivePopGestureRecognizer 的弹出过渡期间,问题是导航栏向上移动,因为我将状态栏隐藏在 rootviewcontroller(蓝色一个)中。

标签: ios swift uinavigationcontroller statusbar


【解决方案1】:

我通过将以下行添加到-viewDidLoad 解决了这个问题:

extendedLayoutIncludesOpaqueBars = true

【讨论】:

    猜你喜欢
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多