玩CAGradientLayer — Swift 3.0
该博客旨在展示CAGradientLayer的基本实现。 👌
什么是CAGradientLayer?
CAGradientLayer是CALayer的子类,它用于绘制填充图层形状(在任何圆角的边界内)的颜色渐变。 它是最简单的图层之一,因为实现它只需几行即可在UI中添加漂亮的彩色效果。
实施CAGradientLayer
渐变层的最基本实现只需两件事:
- 颜色数组(由于CAGradientLayer使用Core Graphics,因此必须为CGColor)
- 渐变层框架的大小。
但是最有可能的是,我们想控制渐变色的停止位置和重新开始的位置。
这是一个示例代码:
您可以在此示例代码中看到
gradient.colors
是CGColor对象的数组,定义了每个渐变色标的颜色。
gradient.startPoint
和gradient.endPoint
定义了渐变相对于图层坐标空间边界的开始和结束位置。 (我总是更喜欢使用CGFloat,因为它更容易估计渐变的位置)。
让我们看一下在使用startPoint
和endPoint.
在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中具有类似于扫描仪的效果。
这是输出:
希望您可以将其应用到您的超赞应用中! 🙌