【发布时间】:2014-02-21 16:04:56
【问题描述】:
在iOS7 中,navigation barTintColor 非常“平淡”。在iOS6(及以下)中,导航栏的颜色会从上到下从浅到深。
在iOS7 中,我可以将导航栏设置为自定义颜色,但从上到下都是一样的。有什么办法可以达到同样的褪色效果吗?
谢谢!
【问题讨论】:
标签: ios ios7 uinavigationbar
在iOS7 中,navigation barTintColor 非常“平淡”。在iOS6(及以下)中,导航栏的颜色会从上到下从浅到深。
在iOS7 中,我可以将导航栏设置为自定义颜色,但从上到下都是一样的。有什么办法可以达到同样的褪色效果吗?
谢谢!
【问题讨论】:
标签: ios ios7 uinavigationbar
您可以使用开源的CRGradientNavigationBar 子类来支持渐变。这是更可取的,因为它比处理图像更强大。
你像这样设置你的导航控制器:
UINavigationController *navigationController = [[UINavigationController alloc] initWithNavigationBarClass:[CRGradientNavigationBar class] toolbarClass:nil];
或者在storyboard中设置导航栏的class,然后使用setBarTintGradientColors:传递一个颜色数组。
[[CRGradientNavigationBar appearance] setBarTintGradientColors:colors];
【讨论】:
使用各种UINavigationBar setBackgroundImage... 方法。传入具有所需渐变的图像。
但请记住,人们希望在他们的 iOS 7 应用中看到新的 iOS 7 外观。这意味着要摆脱旧的 iOS 6 外观。
【讨论】: