Ios 特定视图的swift xcode隐藏导航栏

Ios 特定视图的swift xcode隐藏导航栏,ios,swift,Ios,Swift,我想隐藏特定视图的导航栏,并添加我自己的自定义“后退按钮” 我现在的做法是: override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.navigationController?.navigationBarHidden = true } 它可以工作,但需要0.2秒才能隐藏该条,因此在加载视图后,您可以看到它向上跳跃。是否有其他方法隐藏它?在该视图的viewDid

我想隐藏特定视图的导航栏,并添加我自己的自定义“后退按钮”

我现在的做法是:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    self.navigationController?.navigationBarHidden = true
    }

它可以工作,但需要0.2秒才能隐藏该条,因此在加载视图后,您可以看到它向上跳跃。是否有其他方法隐藏它?

在该视图的viewDidLoad中执行该操作,因为一旦视图显示给用户,ViewDidDisplay就会运行。您也可以尝试将导航栏的alpha设置为0,以便更快地执行操作。

我遇到了相同的问题,使用以下方法解决了此问题:

self.navigationController?.setNavigationBarHidden(true, animated: true)
对于Swift 3: 正如Arayman指出的,将此添加到viewDidLoad:

self.navigationController?.isNavigationBarHidden = true

只要把这段代码写在你想要隐藏导航条的swift文件中。。。(Swift-3)


在该视图的viewDidLoad中执行此操作,因为一旦视图显示给用户,ViewDidDisplay就会运行。我应该键入“self.navigationController?.navigationBarHidden=true”还是不带“self”的“navigationController?.navigationBarHidden=true”的可能重复项。这两个选项都可以使用?@KiwoTew不带self我更喜欢。这两个都是相同的,因为您无论如何都在类中编写代码!!!
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

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