我想隐藏第一个视图控制器的导航栏并显示其余部分。为了实现这一点,我编写了以下代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = true
}
override func viewWillDisappear(animated: Bool)
{
super.viewWillDisappear(animated)
self.navigationController?.navigationBarHidden = false
}
编写此代码后,它工作正常,即此视图控制器不显示导航栏,其余显示所需。但在编写此代码后,会出现另一个问题,如下所示:
problem link。
根据上面链接给出的解决方案,我需要删除代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = true
}
这让我回到问题1 任何人都可以帮助解决这两个问题吗?
答案 0 :(得分:1)
使用此代替navigationBarHidden
:
self.navigationController?.setNavigationBarHidden(true, animated: animated)
答案 1 :(得分:1)
在SecondViewController
添加此代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = false
}
答案 2 :(得分:0)
在您要隐藏的视图导航栏上。把这段代码。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = true;
print("Navgition bar hidden")
}
在下一个视图中,从您要显示导航栏的位置。放在下面的代码。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = true;
print("Navgition bar show")
}