渐变色的显示CAGradient类
2017-08-05 本文已影响0人
请叫我魔法师
看别人代码,总能看到新的东西。比如这个渐变色。
好了。先上效果图。

代码:

主要的东西就是CAGradient类。gradient英语就是斜坡、梯度的意思。
它的属性方法没几个。
1.colors数组,存放你需要渐变色的颜色,按顺序放进数组。
2.loactions数组,默认@[0, 1],可以不对它赋值。可以当做分割线。里面的NSnumber对象个数和colors数组颜色个数一致。
3.starPoint和endPiont,字面意思就是开始点和结束点。
4.type枚举类型,其实就一个默认值,没什么可修改。
通过修改location数组和开始点结束点达到你想要的效果。
注释:其实开始点和结束点,我感觉指的是layer的锚点。(可能不是锚点,反正和锚点的数值一样)

锚点坐标值在0-1之间。
starPoint和endPoint相当于两个锚点组成的线段,颜色的渐变是在这个线段上线性变化。开始写的是(0,0)和(1,1)表示从左上角到右下角的渐变。
如果设置两个点分别是(0,0.5)和(1,0.5)相当于从左到右水平方向的渐变。如图

补充:如果需要单一颜色渐变,经过测试,可以把其中一个颜色写成白色或者灰色就能达到效果。其实就是几个颜色的混合,至于组合出啥颜色,我不懂美术也想像不出来。如果color是数组里只写一个颜色,不会显示。

