I have an app which have a UINavigationBar
and I have set the tint color to black like this:
self.navigationController.navigationBar.tintColor = [UI
Following code is working for me :
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
I used following code to change tint color of navigation bar in iOS7,I added this in app delegate "applicationDidFinishLaunch" method and its work fine for me :
/* ios 7 Change */
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
{
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x4B678B)];
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];
shadow.shadowOffset = CGSizeMake(0, 1);
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
[UIFont fontWithName:@"Helvetica Neue" size:21.0], NSFontAttributeName, nil]];
// self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
//[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
}
[UINavigationBar appearance].tintColor = [UIColor redColor];
if ([[UINavigationBar appearance] respondsToSelector:@selector(setBarTintColor:)]) {
[UINavigationBar appearance].barTintColor = [UIColor redColor];
}
//OR
self.navigationController.navigationBar.tintColor = [UIColor redColor];
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBarTintColor:)]) {
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
}
You need to set the barTintColor property.
You can specify a custom tint color for the navigation bar background using the Tint (barTintColor) field. The default background tint color is white.
From iOS7 docs: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/UIKitUICatalog/UINavigationBar.html#//apple_ref/doc/uid/TP40012857-UINavigationBar-SW1
Had the same issue, but solved it via storyboard file.
Try the following.
Select Navigation Bar item into Navigation Controller scene
Open the Utilities tab on the right side of XCode
Fernando's and sanjana's answers have the key, but I'll just add something to make it clearer and more obvious.
The navigation bar has two properties
It's a bit misleading when you don't think in iOS 7 terms.
tintColor
changes the color of the buttons on your navigation bar.
To change the background color, you need to set the property barTintColor
.
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.tintColor = [UIColor greenColor];
This code snippet will give you a white navigation bar with green buttons.