Alex Rivera | Logout

Change color of translucent black UINavigationBar

Asked 2011-07-21T19:16:49.590
34

I stumbled upon this many times, never found a solution. A UINavigationController's navigationBar can be set to black translucent like:

self.navigationController.navigationBar.barStyle=UIBarStyleBlackTranslucent;

Also, there is a translucent property in UINavigationBar, the docs say:

When YES, the navigation bar is drawn with partial opacity, regardless of the bar style. The amount of opacity is fixed and cannot be changed. It is permissible to set the value of this property when the navigation bar is being managed by a navigation controller object.

I tried

self.navigationcontroller.navigationBar.tintColor=[UIColor blueColor];
self.navigationcontroller.navigationBar.translucent=YES;

and a thousand variations: Setting the translucent property first, setting it in the AppDelegate and in the ViewController, setting the barstyle first. The result is always the same: No transparency. Hence my question:

Is it really possible to change the color of a translucent UINavigationBar to something different than black (preferably within a UINavigationController)?.

I hope there is a review-safe solution.

Thanks, m

Edit
Report

1 Answer

4

At least in iOS 6 on an iPhone 4S, you can make a colored translucent navigation bar like this:

self.navigationController.navigationBar.tintColor = [UIColor blueColor];
self.navigationController.navigationBar.translucent = YES;

The alpha setting doesn't seem to be necessary anymore. This also leaves my title bright white and my buttons opaque.

answered 2013-02-25T21:34:54.000

Your Answer