ios 7 半透明+彩色导航栏

Posted

技术标签:

【中文标题】ios 7 半透明+彩色导航栏【英文标题】:ios 7 translucent + Colored NavigationBar 【发布时间】:2013-11-03 13:43:44 【问题描述】:

我正在 ios 7 上开发我的第一个应用程序并面临一个新问题。

我想做的是让我的 UINavigationBar 半透明和彩色,

我怎样才能做到这一点?

self.navigationController.navigationBarHidden = YES;
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.barTintColor = [UIColot greenColor];

如果我设置 bartintcolor,则 translucent 属性不再有效。

我知道对此有很多问题,但相信我已经搜索了很多,但找不到有效的解决方案。

谢谢大家。

【问题讨论】:

为什么要隐藏导航栏? ***.com/questions/18897485/… 为什么要半透明后再上色?使其半透明时,它采用背景颜色。如果你想拥有绿色,只需将颜色设置为绿色。顺便说一句,你不需要隐藏它。 【参考方案1】:

使用您希望导航栏的颜色创建一个部分透明的图像,并将该图像用作导航栏的背景图像。

【讨论】:

【参考方案2】:

您可以从 Apple 文档中尝试: https://developer.apple.com/library/ios/samplecode/NavBar/Listings/CustomAppearance_CustomAppearanceViewController_m.html

参见applyTransparentBackgroundToTheNavigationBar 方法。这让我开始了。

【讨论】:

【参考方案3】:

理论上,

self.navigationController.navigationBar.barTintColor = [UIColor greenColor];

就是你所需要的。

也许改变 alpha 值,看看它是否不够明显?

试试

self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0.0/255.0 green:255.0/255.0 blue:0.0/255.0 alpha:0.6];

【讨论】:

此外,请确保您在 Xcode 和您的设备上是最新的。 UIColor 的 alpha 在 iOS 7.0.3 之前被忽略。

以上是关于ios 7 半透明+彩色导航栏的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 半透明标签栏和导航栏

在我的导航栏 iOS 7 中设置色调/半透明级别的问题

向导航栏添加半透明工具栏会导致 iOS 7 中出现渲染问题

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

iOS - 导航栏设置半透明或取消半透明

iOS中模糊的半透明导航栏