iOS开发之使用CAGradientLayer绘制渐变色

你们知道如何在 App 中绘制渐变色吗?如果不知道请往下看

最近在 App 开发过程中,遇到了渐变色的要求,费劲一番周折,终于解决,特来与大家分享!
绘制渐变色,需要用到 CoreAnimation 里面的一个类:CAGradientLayer,通过这个类,我们可以很方便的绘制渐变色。

下面我们就开始来绘制渐变色
1、创建一个 UIView:

- (void)viewDidLoad {
    [super viewDidLoad];
    //  创建 UIView 用来承载渐变色
    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 50, 200)];
    [self.view addSubview:myView];
}

2、创建渐变色颜色列表

    //  创建 CAGradientLayer 对象
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];

    //  设置 gradientLayer 的 Frame
    gradientLayer.frame = myView.bounds;

    //  创建渐变色数组,需要转换为CGColor颜色
    gradientLayer.colors = @[(id)[UIColor redColor].CGColor,
                             (id)[UIColor yellowColor].CGColor,
                             (id)[UIColor blueColor].CGColor];

    //  设置三种颜色变化点,取值范围 0.0~1.0
    gradientLayer.locations = @[@(0.1f) ,@(0.4f)];

    //  设置渐变颜色方向,左上点为(0,0), 右下点为(1,1)
    gradientLayer.startPoint = CGPointMake(0, 0);
    gradientLayer.endPoint = CGPointMake(0, 1);

    //  添加渐变色到创建的 UIView 上去
    [myView.layer addSublayer:gradientLayer];

这样就能得到如下结果:


推荐阅读更多精彩内容

  • 目录: 主要绘图框架介绍 CALayer 绘图 贝塞尔曲线-UIBezierPath CALayer子类 补充:i...
    Ryan___阅读 1,271评论 1 9
  • 图层树 在UIKit中所有的视图都是基于UIView派生而来,UIView支持触摸时间,可以支持基于CoreGra...
    maguns阅读 1,036评论 1 3
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 8,900评论 4 48
  • 第十六章 生日宴会 威尔伯爵妹妹的生日宴会上,翟毅早早的就来了。一身剪裁得体的银灰色西装,白色的领带下端镶嵌...
    殇祁祁阅读 183评论 0 2
  • 圣诞节将近, 老父亲一个人在偌大的房间里忙来忙去准备过圣诞节。 电话响起: ——爸爸,今年的圣诞节我不回去跟你过了...
    不死鱼酱阅读 519评论 0 0
  • 即使是在人潮中,我第一眼看到的依然是你。即使是擦肩而过,你依然把我当做空气
    千寻千与阅读 111评论 0 1