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