问题描述
我正在尝试更改导航栏的颜色,但我发现只有当导航器是根时才不可能.
I'm trying to change the color of my navigator bar but I found that it's only impossible if the navigator is the root one.
我正在尝试这个:
self.navigationController?.navigationBar.translucent = true
self.navigationController!.navigationBar.barTintColor = UIColor.blueColor()
我所有的 Viewcontrollers
都与导航器控制器有关.然而,什么都没有改变.事实上,我尝试从情节提要中制作相同的东西,但只有当我在第一个导航器中时它才有效.
All my Viewcontrollers
are related to navigator controllers. However nothing is changed. In fact I tried to make the same things from storyboard but it works only if I'm in the first navigator.
我试图阅读与此问题相关的所有内容,但一无所获
I tried to read everything related to this problem but found nothing
我可以像这样将任何项目添加到导航栏
I could add any item to the navigator bar like this
let HomeImage = UIImage(named: "home")!
let Home : UIBarButtonItem = UIBarButtonItem(image: HomeImage, style: .Plain, target: self, action: "home:")
navigationItem.rightBarButtonItem = Home
推荐答案
其实我发现解决方案是在AppDelegate.siwft
中使用:
In fact, i found that the solution was to use in the AppDelegate.siwft
:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 0/255, blue: 205/255, alpha: 1)
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]
return true
}
然后在每个视图控制器中,我们需要另一种背景颜色或其他东西
and then in each view controller, that we need another background color or something else
segue 应该不同于show"
the segue should be different than "show"
使用函数viewWillAppear
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barTintColor = UIColor.whiteColor()
self.navigationController?.navigationBar.tintColor = UIColor.blueColor()
self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blueColor()]
}
这篇关于更改 iOS 导航栏的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!