如何在 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 中使导航栏透明? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中使底部导航栏不透明?

在 ios 7 中制作透明导航栏和透明标签栏。

如何在 Swift 中使 iPhone 状态栏透明?

如何在 iOS 7 中制作完全透明的导航栏

如何使导航栏透明?

iOS 7 UITableView 使用透明的导航栏和工具栏