user1922543
user1922543

Reputation:

I can't set UINavigationBar's barTintColor to clearColor successfully

There's a strange iOS 7 thing about UINavigationBar. If you try to set it's barTintColor property to [UIColor clearColor] or any color with a alpha = 0, it totally ignores that value. So for instance, if you write:

[[navigationBar setBarTintColor:[UIColor clearColor]];

It doesn't respect the "clear" part at all. Same result with colorWithRed:green:blue:alpha.

But the most interesting part is, if you set translucent property to NO, then it will take the color you specified BUT with alpha 1. So if I specify colorWithRed:1 green:0 blue:0 alpha:0 it will be set to pure red with alpha as 1.

How can I achieve it? Is there any possible solution to make it a completely invisible barTintColor, although it requires hacky methods?

Upvotes: 6

Views: 4700

Answers (2)

onmyway133
onmyway133

Reputation: 48165

This works for me

navigationBar.translucent = true
navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)

Upvotes: 4

Brian Shamblen
Brian Shamblen

Reputation: 4703

If you want a clear navigation controller try setting the background image of the navigation controller to use a clear PNG file (1x1 transparent, no color).

Upvotes: 5

Related Questions