How to change UINavigationBar background color from the AppDelegate
Solution 1:
You can use [[UINavigationBar appearance] setTintColor:myColor];
Since iOS 7 you need to set [[UINavigationBar appearance] setBarTintColor:myColor];
and also [[UINavigationBar appearance] setTranslucent:NO]
.
[[UINavigationBar appearance] setBarTintColor:myColor];
[[UINavigationBar appearance] setTranslucent:NO];
Solution 2:
To change the background color and not the tint the following piece of code will work:
[self.navigationController.navigationBar setBarTintColor:[UIColor greenColor]];
[self.navigationController.navigationBar setTranslucent:NO];
Solution 3:
For doing this in iOS 7:
[[UINavigationBar appearance] setBarTintColor:myColor];
Solution 4:
Swift syntax:
UINavigationBar.appearance().barTintColor = UIColor.whiteColor() //changes the Bar Tint Color
I just put that in the AppDelegate didFinishLaunchingWithOptions and it persists throughout the app
Solution 5:
Swift:
self.navigationController?.navigationBar.barTintColor = UIColor.red
self.navigationController?.navigationBar.isTranslucent = false