// // PairGuideStepsView.swift // QuickLocation // import UIKit final class PairGuideStepsView: UIView { private struct Step { let number: String let title: String let color: UIColor } private let steps: [Step] = [ Step(number: "1", title: "新增配对应用", color: UIColor(hexStr: "#8B5CF6")), Step(number: "2", title: "选择相同应用", color: UIColor(hexStr: "#16B3FF")), Step(number: "3", title: "完成配对", color: UIColor(hexStr: "#22C55E")) ] private let circleSize: CGFloat = 28 private let dashLayer = CAShapeLayer() override init(frame: CGRect) { super.init(frame: frame) backgroundColor = .clear dashLayer.strokeColor = UIColor(hexStr: "#D1D5DB").cgColor dashLayer.lineWidth = 1 dashLayer.lineDashPattern = [3, 3] dashLayer.fillColor = UIColor.clear.cgColor layer.addSublayer(dashLayer) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override var intrinsicContentSize: CGSize { CGSize(width: UIView.noIntrinsicMetric, height: 72) } override func layoutSubviews() { super.layoutSubviews() subviews.forEach { $0.removeFromSuperview() } let columnWidth = bounds.width / 3 let circleY = circleSize / 2 + 2 let centers = (0..