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 半透明+彩色导航栏的主要内容,如果未能解决你的问题,请参考以下文章