设置Navbar hidden = false不起作用

时间:2015-07-08 10:08:32

标签: ios swift uinavigationbar

我有2个ViewController

VC A和VC B

VC A => NavigationBar Hidden = true

VC B => NavigationBar Hidden = false

我从A =>做了一个segue B,但VC B中的导航栏不可见。

我在vc b中包含以下swift代码:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.navigationBarHidden = false
}

有什么想法吗?

5 个答案:

答案 0 :(得分:4)

如果您正在使用

self.navigationController?.navigationBar.hidden = true;

用它来显示栏

self.navigationController?.navigationBar.hidden = false;

不使用

self.navigationController?.navigationBarHidden = false;

请检查

答案 1 :(得分:0)

更改segue时,导航栏和工具栏应在故事板中消失 - 这是正常的。

尝试检查enter image description here

以下内容适用于iOS 8的特定视图

override func viewWillAppear(animated: Bool)
{
  self.navigationController?.navigationBarHidden = false
}

要在所有viewControllers上显示,请将其置于viewDidLoad

self.navigationController?.navigationBarHidden = false

答案 2 :(得分:0)

您可以进行以下工作

VC中的

一个viewWillDisappear

override func viewWillDisappear(animated: Bool) {
        self.navigationController?.navigationBarHidden = false

    } 

答案 3 :(得分:0)

这样做:

在您的VC A中使用此代码:

asyncHttpClient.post(context, "A.com", aParams, aResponseHandler);
asyncHttpClient.post(context, "B.com", bParams, bRsponseHandler);

在VC B中使用此代码:

override func viewDidLoad() {
    super.viewDidLoad()
    navigationController?.setNavigationBarHidden(true, animated: true)
}

答案 4 :(得分:0)

VC A和VC B嵌入在导航控制器中,我有这个工作。

在VC A中,我有以下代码:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true)
    navigationController?.setNavigationBarHidden(false, animated: true)
}

在B中我有

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true)
    navigationController?.setNavigationBarHidden(true, animated: true)
}

完美运作