Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change Navigation Bar color in iOS 7?

How do I change the Navigation Bar color in iOS 7?

Basically I want to achieve something like the Twitter Nav Bar (updated Twitter for iOS7 that is). I embedded-in a nav bar atop a view controller. All I want is to change the nav bar color to light blue along with the utility bar at the top. I can't seem to find an option in my storyboard.

like image 454
Patricio Guerra Avatar asked Sep 21 '13 06:09

Patricio Guerra


1 Answers

The behavior of tintColor for bars has changed in iOS 7.0. It no longer affects the bar's background.

From the documentation:

barTintColor Class Reference

The tint color to apply to the navigation bar background.

@property(nonatomic, retain) UIColor *barTintColor 

Discussion
This color is made translucent by default unless you set the translucent property to NO.

Availability

Available in iOS 7.0 and later.

Declared In
UINavigationBar.h

Code

NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."]; if ([[ver objectAtIndex:0] intValue] >= 7) {     // iOS 7.0 or later        self.navigationController.navigationBar.barTintColor = [UIColor redColor];     self.navigationController.navigationBar.translucent = NO; }else {     // iOS 6.1 or earlier     self.navigationController.navigationBar.tintColor = [UIColor redColor]; } 

We can also use this to check iOS Version as mention in iOS 7 UI Transition Guide

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {         // iOS 6.1 or earlier         self.navigationController.navigationBar.tintColor = [UIColor redColor];     } else {         // iOS 7.0 or later              self.navigationController.navigationBar.barTintColor = [UIColor redColor];         self.navigationController.navigationBar.translucent = NO;     } 

EDIT Using xib

enter image description here

like image 80
Rajneesh071 Avatar answered Oct 09 '22 17:10

Rajneesh071