Customizing navigationBar in iOS7 - title color not working Customizing navigationBar in iOS7 - title color not working swift swift

Customizing navigationBar in iOS7 - title color not working


The appearance api continues to evolve, and UITextAttributeTextColor is now replaced with NSForegroundColorAttributeName.

[navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];

I'll add two things:
The key comes first, then the object.

If you want to globally change your nav controller's title attributes, use the appearance api:

[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];

I'd put that appearance api call in your app delegate's didFinishLaunchingWithOptions method.

UPDATE: Might as well post the Swift equivalents.

To update the navigationBar for an individual view controller, one can use:

self.navigationController.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]

To change the navigation bar's appearance throughout an entire app, one can use:

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]


Not working for me.Using UINavigation as a modal view controller.

Apparently title colour needs to be set uiapplication level

Edit:

Best way is to change the navigation title in each VC context:

[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName,nil]];


[navigationController.navigationBar setBarStyle:UIBarStyleBlack];