关于实现 navigationBar 导航栏透明

self.navigationItem.title = @"navigationBar";

self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];

self.view.backgroundColor = [UIColor colorWithRed:0.064 green:0.522 blue:1.000 alpha:1.000];

然而 导航栏并没有变成透明,好像被什么遮住了一样,为什么呢?

我们用 Reveal 来分析一下视图

navigationBar 上面有一个 ImageView 的子视图,所有我们直接改变navigationBar的backgroundColor是没有用的,

self.navigationItem.title = @"navigationBar"; 
self.view.backgroundColor = [UIColor colorWithRed:0.064 green:0.522 blue:1.000 alpha:1.000];

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
//去除 navigationBar 底部的细线
self.navigationController.navigationBar.shadowImage = [UIImage new];

实现效果,导航栏透明

推荐阅读更多精彩内容