I love iOS

CAGradientLayer的loations属性理解

2020-05-26  本文已影响0人  51dc758c5ac2

@property(nullable, copy) NSArray<NSNumber *> *locations;

locations属性需要NSNumber类型的数组,每个NSNumber代表一个坐标点,渐变全距离可以理解为一个[0-1]的线性变化,默认locations这个值是均匀变化的。很多时候我们需要自定义渐变的过程,这个数值是[0,1]的坐标值,坐标值代表当前渐变颜色开始变化的位置。

1

上图的效果渐变分析可以为 ,先透明,后白色,最后再透明,但是中间没有发生渐变效果,这里需要再插入一个白色色值。

 gradientLayer.colors = @[(id)[UIColor clearColor].CGColor, (id)[UIColor whiteColor].CGColor,(id)[UIColor whiteColor].CGColor,(id)[UIColor clearColor].CGColor];

那么就是4个颜色的渐变,从透明,到白色,再到白色,最后透明。下面设置渐变坐标,透明到白色[0,0.15],白色到白色[0.15,0.85],白色到透明[0.85,1];

gradientLayer.locations=@[@0,@0.15,@0.85,@1];

上一篇 下一篇

猜你喜欢

热点阅读