关于实现 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];
关于实现 navigationBar 导航栏透明_第1张图片

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

我们用 Reveal 来分析一下视图

关于实现 navigationBar 导航栏透明_第2张图片

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];

实现效果,导航栏透明

关于实现 navigationBar 导航栏透明_第3张图片

你可能感兴趣的:(关于实现 navigationBar 导航栏透明)