Change the navigation bar tint using Xcode

Derek picture Derek · Feb 5, 2012 · Viewed 16.9k times · Source

I have been looking on this site and on other how to set the navigation bar tint change, I have seen examples but is not quite what I need so any help will be appreciated.

on my app delegate I have:

@synthesize window;
@synthesize tabBarController;
@synthesize navigationController;
@synthesize navigationController1;
@synthesize navigationController2;
@synthesize viewController;
@synthesize viewController2;
@synthesize viewController3;

#pragma mark -
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:              (NSDictionary *)launchOptions {    

    // Override point for customization after application launch.


    // Set the tab bar controller as the window's root view controller and display.
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];


    return YES;
}

When I enter the code self.navigationController.navigationBar setTintColor:[UIColor blackColor] on the above, it only changes one of my navigation controllers but not the one I need.

I have 7 items on my tabbar and when I press the "MORE..." I get a table view with the other items that do not fit on the main screen, the navigation bar is added automatically, and no matter what I do I can not change this navigation bar tint, I can change the ones that I have @synthesize but not the automatically entered one.

Can someone please let me know how to change the automatically placed navigation bar?

Answer

Nick Lockwood picture Nick Lockwood · Feb 5, 2012

You can do this using the appearance proxy. If you set the colour like this it will apply to every navigation bar in the app:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];