如何使导航栏在iOS 7中透明?

有没有办法使导航控制器的栏完全透明?

我试过了:

[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]]; [self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]]; [self.navigationController.navigationBar setAlpha:0.0]; 

但酒吧的外观不变,保持白色半透明。 我试图让酒吧项目可见,但不是酒吧本身。 有人能指出我正确的方向吗? 谢谢

如果有人想知道如何在iOS 7中实现这一点,这里是一个解决scheme(iOS 6兼容)

 [self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationBar.shadowImage = [UIImage new]; self.navigationBar.translucent = YES; 

由于UINavigationBar文档中讨论的行为,在导航栏上将半透明设置为YES可以实现这一function。 我会在这里报告相关的片段:

如果在具有不透明的自定义背景图像的导航栏上将此属性设置为YES,则导航栏会将小于1.0的系统不透明度应用于图像。

引用自: 使UINavigationBar透明

您可以使导航栏透明以下代码


 [self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; [self.navigationBar setShadowImage:[UIImage new]]; [self.navigationBar setTranslucent:YES];