有没有办法让导航控制器的栏完全透明?
我尝试了什么:
[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];
但酒吧的外观不会改变,并保持白色半透明。 我试图看到酒吧项目,但不是酒吧本身。有人能指出我正确的方向吗?感谢
答案 0 :(得分:65)
如果有人想知道如何在iOS 7中实现这一点,这里有一个解决方案(iOS 6兼容)
[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;
由于UINavigationBar文档中讨论的行为,导航栏上的半透明设置为YES可以解决问题。我将在这里报告相关的片段:
如果在具有不透明自定义背景图像的导航栏上将此属性设置为YES,导航栏将对图像应用小于1.0的系统不透明度。
答案 1 :(得分:22)
您可以使用以下代码
使导航栏透明[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationBar setShadowImage:[UIImage new]];
[self.navigationBar setTranslucent:YES];