CAGradientLayer可以用来生成渐变色,是CALayer的一个子类。
具体使用:
private lazy var gradientLayer: CAGradientLayer = {
let l = CAGradientLayer()
l.colors = self.scrimColors ///渐变节点颜色
l.locations = self.scrimLocations /// 每个渐变节点位置
l.startPoint = CGPoint(x: 0, y: 0) /// 渐变色的结束点
l.endPoint = CGPoint(x: 1, y: 1) /// 渐变色的起始点
l.opacity = self.scrimOpactity
return l
}()
颜色:
private lazy var scrimColors: [CGColor] = [
NSColor.red.cgColor,
NSColor.orange.cgColor,
NSColor.yellow.cgColor,
NSColor.green.cgColor,
NSColor.cyan.cgColor,
NSColor.blue.cgColor,
NSColor.magenta.cgColor
]
节点位置:
private let scrimLocations: [NSNumber] = [
NSNumber(value: 0),
NSNumber(value: 0.037),
NSNumber(value: 0.1),
NSNumber(value: 0.3),
NSNumber(value: 0.5),
NSNumber(value: 0.7),
NSNumber(value: 1)
]
效果图:
渐变.png
网友评论