How to make UINavigationBar Transparent in IOS 8?

try this

   [self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                         forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    self.navigationController.navigationBar.translucent = YES;
    self.navigationController.view.backgroundColor = [UIColor clearColor];

I hope the above code helps.


Try adding this code. It worked for me in iOS 8.

[self.navigationController.navigationBar setTranslucent:YES];
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor]

Using this code, you don't even need to add your transparent UIImage. Update here if it helps you.


Thanks all. The thing is that I am adding this line in my view controller:

if (IS_OS_7_OR_LATER)
{
    self.edgesForExtendedLayout = UIRectEdgeNone;
    self.extendedLayoutIncludesOpaqueBars = NO;
    self.automaticallyAdjustsScrollViewInsets = NO;
}

that is why the code is not working. When I remove the line

self.edgesForExtendedLayout = UIRectEdgeNone;

the code works.

Tags:

Ios

Iphone