我的导航栏像这样透明:
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
中做,但不知道该做什么
任何指导都将不胜感激
答案 0 :(得分:1)
好吧,我最终得到了这个,在我的另一个viewController,我想显示我的navigationBar
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)
}
答案 1 :(得分:0)
您可以在viewWillDisAppear()方法中反向返回viewController颜色。
覆盖func viewWillDisAppear(动画:Bool){
self.navigationController!.view.backgroundColor = UIColor.WhiteColor()
}
希望这会对你有所帮助