【问题标题】:Strange view effect when navigating and changing visibility of navigation bar导航和更改导航栏可见性时的奇怪视图效果
【发布时间】:2015-07-06 07:46:55
【问题描述】:

我有一个UINavigationController,我希望它的根视图控制器隐藏导航栏,所以我在根视图控制器的类中写了这个:

override func viewWillLayoutSubviews() {
    self.navigationController?.setNavigationBarHidden(true, animated: false)
}

这有效地隐藏了导航栏。这个根视图控制器有一个按钮,点击时会推送一个新的视图控制器。我希望第二个视图控制器显示导航栏,所以在它的子类中:

override func viewWillLayoutSubviews() {
    self.navigationController?.setNavigationBarHidden(false, animated: false)
}

然后显示导航栏,但是当我点击它的后退按钮并导航回到上一个视图控制器(我想隐藏导航栏的那个)时,它会在其视图顶部显示一个瞬间导航栏应该在的空白处,最后视图再次“转到”屏幕顶部。

如何避免这种影响?

【问题讨论】:

    标签: ios uinavigationcontroller uinavigationbar show-hide


    【解决方案1】:

    尝试将导航栏设置为隐藏在 viewWillAppear 中。

    override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated); self.navigationController?.setNavigationBarHidden(true, animated: false) }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 1970-01-01
      • 2021-03-11
      相关资源
      最近更新 更多