如何在 iOS 7 中使导航栏透明? [复制]
Posted
技术标签:
【中文标题】如何在 iOS 7 中使导航栏透明? [复制]【英文标题】:How to make navigation bar transparent in iOS 7? [duplicate] 【发布时间】:2013-12-02 01:21:21 【问题描述】:有没有办法让导航控制器的栏完全透明?
我尝试过的:
[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];
但是酒吧的外观没有改变,并且保持白色半透明。 我试图让酒吧项目可见,但不是酒吧本身。有人可以指出我正确的方向吗?谢谢
【问题讨论】:
这里回答:***.com/questions/18969248/… 【参考方案1】:如果有人想知道如何在 ios 7 中实现这一点,这里有一个解决方案(也兼容 iOS 6)
[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;
由于 UINavigationBar 文档中讨论的行为,在导航栏上将 translucent 设置为 YES 可以解决问题。我将在这里报告相关片段:
如果您在具有不透明自定义背景图像的导航栏上将此属性设置为 YES,则导航栏将对图像应用小于 1.0 的系统不透明度。
参考来自:Make UINavigationBar transparent
【讨论】:
我试过了,它可以工作,但现在后退按钮不可见。 @nuteron 试试这个可能对你有帮助:self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; @Pradhyumansinh 感谢您的解决方案。将栏设置为半透明后,我想恢复为默认背景。我该怎么办? ***.com/questions/24298375/…【参考方案2】:您可以使用以下代码使导航栏透明
[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationBar setShadowImage:[UIImage new]];
[self.navigationBar setTranslucent:YES];
【讨论】:
如果我们这样做,我们可以设置导航栏的 alpha 吗? 你当然可以,你可以通过[self.navigationBar setAlpha:YourValue];
来做到这一点
@HareshGhatala 感谢您的解决方案。将栏设置为半透明后,我想恢复为默认背景。我该怎么办? ***.com/questions/24298375/... – nimingzhe2008 5 分钟前编辑以上是关于如何在 iOS 7 中使导航栏透明? [复制]的主要内容,如果未能解决你的问题,请参考以下文章