带角度的CAGradientLayer

h99*_*999 3 cashapelayer ios cagradientlayer

我画CGPath的不是矩形或正方形,而是添加CGPathCAShapeLayer.这CAShapeLayer是从CGPath使用中获得的框架CGPathGetBoundingBox(path).所以它将是矩形或方形.现在我想将渐变颜色设置为图层,但我的路径不是矩形或正方形,因此它不会在整体上均匀地传播渐变颜色CGPath.有没有办法将渐变颜色设置为CGPath或如何设置渐变颜色与角度?

请参考截图了解情况.这里白色表示框架CGPath和绿色,这是我们绘制的CGPath.在底部CGPath你可以看到不均匀分布的白色渐变色CGPath.

在此输入图像描述

在此输入图像描述

jrt*_*ton 13

线性渐变的起点和终点以相对于图层整体大小的点指定,左上角为(0,0),右下角为(1,1).

因此,要以一定角度制作线性渐变,您只需要适当地设置起点和终点.例如,如果使用(0,0)和(1,1)作为开始点和结束点,梯度会从左上角到右下角的运行,在一45度角.

因此,根据您的需要确定具体的起点和终点只是三角函数的问题.