如何使UINavigationController的UINavigationBar不可见或至少改变颜色

我有一个UINavigationController链接到一个设置为RootController的ViewController。 我启用了UINavigationBar,并在其中放置了3个UIViews,每个UIVut都有一个UIButton。 理想情况下,我想让UINavigationBar完全不可见,但我也愿意将颜色设置为我的ViewController的背景颜色。 我在快速工作,我尝试过类似的东西

self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) self.navigationBar.shadowImage = UIImage() self.navigationBar.translucent = true 

然而没有任何改变 有没有正确的方法来做到这一点?

在swift中,您可以:

 self.navigationController?.setNavigationBarHidden(true, animated: true) 

有关更多详细信息,请参阅文档 。

我也在使用Swift并且调用setNavigationBarHidden没有任何效果。 我在Obj-C中创建了一个辅助方法,它在给定的导航控制器上调用setNavigationBarHidden:animated:并且工作正常。 显然这只是一个错误,非常令人沮丧。