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中隐藏导航栏时,如何更改状态栏的颜色?

iOS 7隐藏导航栏时如何更改状态栏的颜色?

如何在 iOS 7.1.1 / iPhone 5s 上更改导航栏按钮颜色

导航栏的自定义 barTintColor

如何在 iOS7 上更改没有动画的 barTintColor?

iOS 自定义导航栏 NavigationBar