CNLiveGradientView.swift
1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//
// CNLiveGradientView.swift
// metaCode
//
// Created by zx on 2023/11/27.
//
import Foundation
class CNLiveGradientView:UIView{
/**
颜色数组
*/
var _colors:Array<UIColor> = []
var colors:Array<UIColor>{
get{
_colors
}
set{
_colors = newValue
var gLayerColors = NSMutableArray()
for (_,color) in _colors.enumerated() {
gLayerColors.add(color.cgColor)
}
self.gradientLayer.colors = gLayerColors as? [Any]
}
}
/**
起点
*/
var _startPoint:CGPoint?
var startPoint:CGPoint?{
get{
_startPoint
}
set{
_startPoint = newValue
self.gradientLayer.startPoint = _startPoint!
}
}
/**
终点
*/
var _endPoint:CGPoint?
var endPoint:CGPoint?{
get{
_endPoint
}
set{
_endPoint = newValue
self.gradientLayer.endPoint = _endPoint!
}
}
/**
透明度
*/
var _opacity:Float = 0
var opacity:Float{
get{
_opacity
}
set{
_opacity = newValue
self.gradientLayer.opacity = _opacity
}
}
// MARK: - CAGradientLayer
lazy var gradientLayer :CAGradientLayer = {
let gradientLayer = CAGradientLayer()
self.layer.addSublayer(gradientLayer)
return gradientLayer
}()
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// MARK: - layoutSubviews
override func layoutSubviews() {
super.layoutSubviews()
self.gradientLayer.frame = CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height)
}
}