iOS 7导航栏barTintColor - 能够让它从上到下淡化吗?
Posted
技术标签:
【中文标题】iOS 7导航栏barTintColor - 能够让它从上到下淡化吗?【英文标题】:iOS 7 navigationbar barTintColor - able to have it fade from top to bottom? 【发布时间】:2014-02-21 16:04:56 【问题描述】:在ios7
中,navigation barTintColor
非常“平淡”。在iOS6
(及以下)中,导航栏的颜色会从上到下从浅到深。
在iOS7
中,我可以将导航栏设置为自定义颜色,但从上到下都是一样的。有什么办法可以达到同样的褪色效果吗?
谢谢!
【问题讨论】:
【参考方案1】:您可以使用开源的CRGradientNavigationBar
子类来支持渐变。这是更可取的,因为它比处理图像更强大。
你像这样设置你的导航控制器:
UINavigationController *navigationController = [[UINavigationController alloc] initWithNavigationBarClass:[CRGradientNavigationBar class] toolbarClass:nil];
或者在storyboard中设置导航栏的class,然后使用setBarTintGradientColors:
传递一个颜色数组。
[[CRGradientNavigationBar appearance] setBarTintGradientColors:colors];
【讨论】:
【参考方案2】:使用各种UINavigationBar setBackgroundImage...
方法。传入具有所需渐变的图像。
但请记住,人们希望在他们的 iOS 7 应用中看到新的 iOS 7 外观。这意味着要摆脱旧的 iOS 6 外观。
【讨论】:
正如我所说,您应该只使用现代 iOS 7 外观 - 没有渐变。以上是关于iOS 7导航栏barTintColor - 能够让它从上到下淡化吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 7.1.1 / iPhone 5s 上更改导航栏按钮颜色