玩CAGradientLayer — Swift 3.0

该博客旨在展示CAGradientLayer的基本实现。 👌

什么是CAGradientLayer?

CAGradientLayer是CALayer的子类,它用于绘制填充图层形状(在任何圆角的边界内)的颜色渐变。 它是最简单的图层之一,因为实现它只需几行即可在UI中添加漂亮的彩色效果。

实施CAGradientLayer

渐变层的最基本实现只需两件事:

  • 颜色数组(由于CAGradientLayer使用Core Graphics,因此必须为CGColor)
  • 渐变层框架的大小。

但是最有可能的是,我们想控制渐变色的停止位置和重新开始的位置。

这是一个示例代码:

您可以在此示例代码中看到

gradient.colors是CGColor对象的数组,定义了每个渐变色标的颜色。

gradient.startPointgradient.endPoint定义了渐变相对于图层坐标空间边界的开始和结束位置。 (我总是更喜欢使用CGFloat,因为它更容易估计渐变的位置)。

让我们看一下在使用startPointendPoint.

startPoint(0,0) & endPoint(1,0)

startPoint(0,0) & endPoint(0,1)

startPoint(0.25,0.25) & endPoint(1,1)

startPoint(0.75,0.75) & endPoint(0,1)

动画怎么样?

当然! 您可以通过访问渐变图层的属性来为其设置动画,在此示例中,我尝试使用locations属性,并使用两种颜色在我的UIView中具有类似于扫描仪的效果。

这是输出:

希望您可以将其应用到您的超赞应用中! 🙌