如何摆脱一个屏幕的导航栏并显示其余屏幕
How to get rid of the navigation bar for one screen and show for the remaining
我想隐藏第一个视图控制器的导航栏并显示其余部分。为了实现这一点,我编写了以下代码:
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.
根据上面给出的解决方案link我需要去掉代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = true
}
这让我回到问题 1
有人可以帮助解决这两个问题吗?
用这个代替 navigationBarHidden
:
self.navigationController?.setNavigationBarHidden(true, animated: animated)
在您的 SecondViewController
中添加此代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = false
}
在您要隐藏导航栏的视图上。放这段代码。
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")
}
我想隐藏第一个视图控制器的导航栏并显示其余部分。为了实现这一点,我编写了以下代码:
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.
根据上面给出的解决方案link我需要去掉代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = true
}
这让我回到问题 1 有人可以帮助解决这两个问题吗?
用这个代替 navigationBarHidden
:
self.navigationController?.setNavigationBarHidden(true, animated: animated)
在您的 SecondViewController
中添加此代码:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBarHidden = false
}
在您要隐藏导航栏的视图上。放这段代码。
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")
}