Swift之CAGradientLayer

2019-11-27  本文已影响0人  只爱随便看看

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
上一篇 下一篇

猜你喜欢

热点阅读