Max*_*Max 6 geometry gradient core-animation ios cagradientlayer
如何使用CAGradientLayer最有效地围绕圆/角度绘制渐变?
在这个项目的帮助下,我在下面做了一个.它使用位图上下文进行绘制,但CAGradientLayer效率更高.
不幸的是,我只能弄清楚如何用它来制作线性渐变.
Eri*_*rik 11
我意识到自从提出这个问题以来已经过去了很多年,但对于现在偶然发现它的任何人来说,iOS 12 添加了一个圆锥渐变类型,使这成为可能。
gradientLayer.type = CAGradientLayerType.conic
gradientLayer.frame = bounds
gradientLayer.colors = [startColor.cgColor, endColor.cgColor]
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 0)
渐变层目前仅支持线性渐变。但是,如果您查看渐变层的界面,就会发现它包含一个 type 属性。目前唯一定义的类型是 kCAGradientLayerAxial(线性)。
事实上,有一个 type 属性表明苹果将在未来的某个日期添加更多类型,而径向渐变似乎是一个非常相似的添加。
您可能会考虑创建自己的 CAGradientLayer 自定义子类,用于绘制径向渐变和线性渐变。我在网上看到了创建自定义 CALayer 子类的演示项目。