class ThreeColorLineView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setup()
}
private func setup() {
backgroundColor = .clear
let path = CGMutablePath()
path.move(to: CGPoint(x: 0, y: 0))
path.addLine(to: CGPoint(x: bounds.width, y: 0))
addOneColorDasheLine(path: path, color: UIColor.hexColor("#77B4DF"))
let path2 = CGMutablePath()
path2.move(to: CGPoint(x: 12, y: 0))
path2.addLine(to: CGPoint(x: bounds.width, y: 0))
addOneColorDasheLine(path: path2, color: UIColor.hexColor("#EB7B71"))
}
private func addOneColorDasheLine(path: CGPath, color: UIColor) {
let dashLayer = CAShapeLayer()
dashLayer.path = path
dashLayer.fillColor = UIColor.clear.cgColor
dashLayer.strokeColor = color.cgColor
dashLayer.lineWidth = 1
dashLayer.lineDashPattern = [8, 16]
layer.addSublayer(dashLayer)
}
}