Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change the navigation bar tint using Xcode

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?

like image 943
Derek Avatar asked Feb 05 '12 08:02

Derek


People also ask

How do I change the color of the navigation bar in iOS Swift?

Let's see how to change the background color of a navigation bar through the storyboard editor. Create a new project, select it's view controller and embed in navigation controller. Select the navigation bar and go to It's attribute inspector.

How do I add a navigation bar color in SwiftUI?

To change a navigation bar color in SwiftUI, you apply toolbarBackground modifier to the content view of NavigationStack . NavigationView is deprecated in iOS 16. toolbarBackground accepts two parameters. ShapeStyle : The style to display as the background of the bar.


2 Answers

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]];
like image 50
Nick Lockwood Avatar answered Oct 04 '22 06:10

Nick Lockwood


For iOS 6 and lower:

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

For iOS 7 and higher:

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

Set it in this method in AppDelegate.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
like image 40
Zeezer Avatar answered Oct 04 '22 07:10

Zeezer