【问题标题】:How do I instantly hide the navigation bar on a single view controller?如何在单个视图控制器上立即隐藏导航栏?
【发布时间】:2018-02-16 20:03:33
【问题描述】:

我有一个带有两个视图控制器和屏幕顶部的图像的应用程序。我只在第一个(主)视图控制器上隐藏了导航栏,没有问题,但是使用第二个视图控制器中的“后退”按钮会导致我的图像在导航栏隐藏时短暂下拉。如果可能的话,我想回到第一个屏幕而不让图像移动。我用来隐藏导航栏的代码如下:

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

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

我正在使用单个故事板。有什么建议吗?

【问题讨论】:

    标签: ios swift uinavigationcontroller uinavigationbar


    【解决方案1】:

    在视图中会消失试试这个

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        self.navigationController?.setNavigationBarHidden(false, animated: false)
    }
    

    在隐藏取消隐藏导航栏时移除动画。

    【讨论】:

    • 谢谢,但这不起作用。我在屏幕顶部的图像会短暂向下移动以适应导航栏。
    • 实际上,一旦我将第二个场景设置为 tableview 控制器,这就会起作用。谢谢。
    猜你喜欢
    • 2015-07-17
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 2013-09-22
    相关资源
    最近更新 更多