Victor Sigler
Victor Sigler

Reputation: 23449

Make navigation bar transparent regarding below image in iOS 8.1

I try to set my navigation bar transparent regarding a image below this, something like the following image :

enter image description here

I tried the solution in transparent navigation bar ios but I don't get the above result, I get only the icon on the left but without any color in the navigation bar, completely transparent. But if I set a background color the transparency disappears at all.

There is any way to set a color in the navigation bar and make it transparent??

Thanks in advance.

Upvotes: 7

Views: 17050

Answers (4)

Sridhara Shetty
Sridhara Shetty

Reputation: 107

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
self.navigationController?.navigationBar.isTranslucent = true

If the above code is not working then set edgesForExtendedLayout to all.

self.edgesForExtendedLayout = .all

Upvotes: 0

nickgraef
nickgraef

Reputation: 2417

To set this style globally, use the UIAppearance APIs. In AppDelegate's application:didFinishLaunchingWithOptions: add the following code:

// Sets background to a blank/empty image
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default)
// Sets shadow (line below the bar) to a blank image
UINavigationBar.appearance().shadowImage = UIImage()
// Sets the translucent background color
UINavigationBar.appearance().backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3)
// Set translucent. (Default value is already true, so this can be removed if desired.)
UINavigationBar.appearance().translucent = true

Upvotes: 13

sage444
sage444

Reputation: 5684

just checked on the 8.1 simulator and got very similar result to your picture

    let bar:UINavigationBar! =  self.navigationController?.navigationBar

    bar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
    bar.shadowImage = UIImage()
    bar.backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3)

main point here is background color with alpha.

Check attached image, maybe I missed something?

enter image description here

Upvotes: 30

timgcarlson
timgcarlson

Reputation: 3146

Have you tried setting the navigationBar's alpha property? In your root view controller to the navigation controller...

[self.navigationController.navigationBar setBackgroundColor:[UIColor greenColor]];
[self.navigationController.navigationBar setAlpha:0.3f];

Upvotes: 0

Related Questions