iOS实现简易的导航栏颜色渐变实例代码

2020-01-21 07:21:53丽君

前言

很多App首页要做成类似天猫和京东的导航栏,实现在页面滑动过程中导航栏渐变的效果。笔者之前在项目里用过一个三方,后来更新版本失效了,于是决定结合自己对导航栏的认识来实现一下这个功能。完成一个简易的iOS导航栏颜色渐变方案。

【文末附运行效果及demo】,下面话不多说了,来一起看看详细的介绍吧

思考与原理

如何给导航栏设置颜色?


//方法一
self.navigationController.navigationBar.backgroundColor = [UIColor redColor];

//方法二
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"red.png"] forBarMetrics:UIBarMetricsDefault];

以上两个方法都可以为导航栏添加颜色,但是方法一的效果并非此处所需。

iOS,导航栏,颜色渐变,代码

直接设置背景色的效果

原因在于 UINavigationBar 的结构中添加了 UIView 、 UIImageView 、 UILabel等控件,覆盖了 UINavigationBar 。

方法二的效果符合预期。