使其透明后恢复默认导航栏
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)
}
我正在让我的导航栏像这样透明:
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)
}