美文网首页
CAGradientLayer设置渐变色

CAGradientLayer设置渐变色

作者: 我就是个伪程序媛 | 来源:发表于2018-11-21 11:28 被阅读11次

    刚入行的时候,设计就提出渐变效果的需求。但是,当时,技术渣呀,只能被设计吐嘈吐嘈再吐嘈。

    后来犹记是为了实现图片根据季节颜色变换,设计不再宠我了,一定要让实现渐变的效果。
    万幸啊,后来结识了CAGradientLayer

    上代码啦

    - (void)addTheGradientLayerWithBeginColor:(UIColor *)beginColor
                                  andEndColor:(UIColor *)endColor
                                    fromPoint:(CGPoint)startPoint
                                     endPoint:(CGPoint)endPoint{
        if (!self.gradientLayer) {
            CAGradientLayer * gradientLayer = [CAGradientLayer layer];
            [self.layer addSublayer:gradientLayer];
            self.gradientLayer = gradientLayer;
        }
        //设置渐变色区域
        self.gradientLayer.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
        //设置渐变色的颜色组
        self.gradientLayer.colors = @[(__bridge id)beginColor.CGColor, (__bridge id)endColor.CGColor];
        //设置渐变颜色方向,左上点为(0,0), 右下点为(1,1)
        self.gradientLayer.startPoint = startPoint;
        self.gradientLayer.endPoint = endPoint;
    }
    

    你以为CAGradientLayer只能实现渐变很一般的效果,但是结合CAShapeLayer可实现如下这些效果还是蛮赞的

    网络图片,侵删1.gif 网络图片,侵删2.gif

    相关文章

      网友评论

          本文标题:CAGradientLayer设置渐变色

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