Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS 6 Navigation Bar Color in Xcode 5

I'd spent a few months developing an application for iOS 6 when I updated to Xcode 5. I updated the application to fit with the iOS 7 style, when I decided to run the application again on iOS 6.1. I found that my previously black navigation bar had turned white.

I swapped my storyboard to be viewed as "iOS 6.1 and Earlier", and found that the color of the navigation bar was white, even though it was set to "Opaque Black Navigation Bar" in the simulated metrics.

Any ideas on how to fix this? I've already tried manually setting the child view top bars to "Opaque Black Navigation Bar" as well. This changes the color of the navigation bar for the child to appear black on the storyboard, but has no effect on the application when run on the simulator.

like image 283
Kamaros Avatar asked Sep 27 '13 21:09

Kamaros


People also ask

How do I customize the navigation bar in Swift?

Go to the ViewController. swift file and add the ViewDidAppear method. a nav helper variable which saves typing. the Navigation Bar Style is set to black and the tint color is set to yellow, this will change the bar button items to yellow.


2 Answers

Looks like what I needed to do was check if the device was running a version less than iOS 7, then set

[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];
like image 132
Kamaros Avatar answered Sep 30 '22 21:09

Kamaros


For setting the color of the navigation bar, I did the following:

if([self.navigationController.navigationBar respondsToSelector:@selector(barTintColor)])
{
    // iOS7
    self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:236.0/255.0 green:139.0/255.0 blue:23.0/255.0 alpha:1.0];
}
else
{
    // older
    self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:236.0/255.0 green:139.0/255.0 blue:23.0/255.0 alpha:1.0];
}

Hopefully somebody will find it helpful...

like image 21
Arkady Avatar answered Sep 30 '22 20:09

Arkady