美文网首页专注iOS开发iOS开发中填坑工具iOS技术帖
iOS开发之使用CAGradientLayer绘制渐变色

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

作者: 邦奇诺 | 来源:发表于2016-04-05 16:20 被阅读7565次

    你们知道如何在 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];
    

    这样就能得到如下结果:


    相关文章

      网友评论

      • 超_iOS:左下是0,0 吧 .楼主.你写错
      • 没那么简单_5b0c:可以实现,但是如果是xib的话,xib上面的控件就会不可见,必须手动添加一遍,请问这个问题可以解决吗?
      • 永断阎罗:为什么我像你一样设置了,没反应?
        子达如何:正确设置layer的frame很重要

      本文标题:iOS开发之使用CAGradientLayer绘制渐变色

      本文链接:https://www.haomeiwen.com/subject/rabxlttx.html