``` CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, 3);
colors:可以理解,就是颜色数组。
locations:The location for each color provided in components,也就是说颜色数组中的颜色的显示顺序。 ```
例:
``` CGFloat colors[] ={
1,0,0,1,//红
0,1,0,1,//绿
0,0,1,1};//蓝
CGFloat locations[3] = {0,0.5,1}; ```
我的理解:
把整个渐变区域当做一个 [0,1] 的区间,这里的 locations[] 就表示在这个 [0,1] 区间中颜色显示顺序,0表示开始的位置,1表示结束的位置。locations[] 数组中第一个数据表示第一个颜色的位置信息。
``` 即 红---->0------>开始
绿----->0.5---->中间位置
蓝----->1------>结束 ```
故,这里的渐变为:红-->绿-->蓝色
``` CGFloat locations[3] = {1,0.5,0}; 渐变为:蓝-->绿--->红
CGFloat locations[3] = {1,0.8,0.5};
蓝--->0.5---->中间位置
绿--->0.8---->中间偏下
红--->1------->最后 ``` 故,渐变为:蓝--->绿--->红,但是蓝色占据一半,因为一直显示蓝色,直到0.5的位置才开始渐变为绿色