Ios 如何在单个视图控制器上立即隐藏导航栏?

Ios 如何在单个视图控制器上立即隐藏导航栏?,ios,swift,uinavigationcontroller,uinavigationbar,Ios,Swift,Uinavigationcontroller,Uinavigationbar,我有一个应用程序,有两个视图控制器,屏幕顶部有一个图像。我在第一个(主)视图控制器上隐藏了导航栏,但没有问题,但是使用第二个视图控制器上的“后退”按钮会导致我的图像在导航栏隐藏时短暂下降。如果可能的话,我想返回到第一个屏幕,而不让图像移动。我用来隐藏导航栏的代码如下: override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.navigationController?.

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

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)
}

我用的是一个故事板。有什么建议吗?

视图将消失,请尝试此操作

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

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

谢谢,但这不起作用。我在屏幕顶部的图像短暂向下移动,以适应导航栏。实际上,当我将第二个场景设置为tableview控制器时,这就起到了作用。谢谢