IOS 渐变颜色 CGGradientCreateWithColorComponents 属性介绍

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的位置才开始渐变为绿色

你可能感兴趣的:(IOS 渐变颜色 CGGradientCreateWithColorComponents 属性介绍)