使其透明后恢复默认导航栏

get back the default Navigation bar after making it Transparent

我正在让我的导航栏像这样透明:

override func viewWillAppear(animated: Bool) {

    self.navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
    //UIImageNamed:@"transparent.png"
    self.navigationController!.navigationBar.shadowImage = UIImage()
    ////UIImageNamed:@"transparent.png"
    self.navigationController!.navigationBar.translucent = true
    self.navigationController!.view.backgroundColor = UIColor.clearColor()

}

但它也会影响其他视图控制器的导航栏,因此我想在当前视图消失时将其恢复为默认设置,我该怎么做?? 我知道我必须在 ViewDidDisappear 中完成,但不知道在那里做什么

任何指导将不胜感激

您可以在 viewWillDisAppear() 方法中反向返回 viewController 颜色。

覆盖 func viewWillDisAppear(动画:布尔){

self.navigationController!.view.backgroundColor = UIColor.WhiteColor()

}

希望对您有所帮助

好吧,我在另一个 viewController 上完成了这个,我想在其中显示我的导航栏

    override func viewDidAppear(animated: Bool) {

    self.navigationController?.navigationBar.translucent = true
    self.navigationController?.navigationBar.barStyle = .Default
    self.navigationController?.navigationBar.backgroundImageForBarMetrics(.Default)
    self.navigationController?.navigationBar.backgroundColor = .None
    self.navigationController?.navigationBar.setBackgroundImage(.None, forBarMetrics: .Default)


}