前言
很多App首页要做成类似天猫和京东的导航栏,实现在页面滑动过程中导航栏渐变的效果。笔者之前在项目里用过一个三方,后来更新版本失效了,于是决定结合自己对导航栏的认识来实现一下这个功能。完成一个简易的iOS导航栏颜色渐变方案。
【文末附运行效果及demo】,下面话不多说了,来一起看看详细的介绍吧
思考与原理
如何给导航栏设置颜色?
//方法一
self.navigationController.navigationBar.backgroundColor = [UIColor redColor];
//方法二
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"red.png"] forBarMetrics:UIBarMetricsDefault];
以上两个方法都可以为导航栏添加颜色,但是方法一的效果并非此处所需。
直接设置背景色的效果
原因在于 UINavigationBar 的结构中添加了 UIView 、 UIImageView 、 UILabel等控件,覆盖了 UINavigationBar 。
方法二的效果符合预期。











