// Created by liangshi on 2025/8/26.
//
+//class BrokenLineView: UIView {
+// override func draw(_ rect: CGRect) {
+// super.draw(rect)
+// let path = UIBezierPath()
+// let lineWidth: CGFloat = 0.5
+// let dashLength: CGFloat = 5.0
+// let spaceLength: CGFloat = 3.0
+// let startPoint = CGPoint(x: 0, y: bounds.midY)
+// let endPoint = CGPoint(x: bounds.width, y: bounds.midY)
+// path.move(to: startPoint)
+// path.addLine(to: endPoint)
+// let shapeLayer = CAShapeLayer()
+// shapeLayer.path = path.cgPath
+// shapeLayer.strokeColor = UIColor.hexString("#93C6EC").cgColor
+// shapeLayer.fillColor = UIColor.clear.cgColor
+// shapeLayer.lineWidth = lineWidth
+// shapeLayer.lineDashPattern = [NSNumber(value: dashLength), NSNumber(value: spaceLength)]
+// layer.addSublayer(shapeLayer)
+// }
+//}
class BrokenLineView: UIView {
- override func draw(_ rect: CGRect) {
- super.draw(rect)
+ private var shapeLayer: CAShapeLayer!
+
+ override init(frame: CGRect) {
+ super.init(frame: frame)
+ setupShapeLayer()
+ }
+
+ required init?(coder: NSCoder) {
+ super.init(coder: coder)
+ setupShapeLayer()
+ }
+
+ private func setupShapeLayer() {
+ shapeLayer = CAShapeLayer()
+ shapeLayer.strokeColor = UIColor.hexString("#93C6EC").cgColor
+ shapeLayer.fillColor = UIColor.clear.cgColor
+ shapeLayer.lineWidth = 0.5
+ shapeLayer.lineDashPattern = [NSNumber(value: 5.0), NSNumber(value: 3.0)]
+ layer.addSublayer(shapeLayer)
+ }
+
+ override func layoutSubviews() {
+ super.layoutSubviews()
let path = UIBezierPath()
- let lineWidth: CGFloat = 0.5
- let dashLength: CGFloat = 5.0
- let spaceLength: CGFloat = 3.0
let startPoint = CGPoint(x: 0, y: bounds.midY)
let endPoint = CGPoint(x: bounds.width, y: bounds.midY)
path.move(to: startPoint)
path.addLine(to: endPoint)
- let shapeLayer = CAShapeLayer()
shapeLayer.path = path.cgPath
- shapeLayer.strokeColor = UIColor.hexString("#93C6EC").cgColor
- shapeLayer.fillColor = UIColor.clear.cgColor
- shapeLayer.lineWidth = lineWidth
- shapeLayer.lineDashPattern = [NSNumber(value: dashLength), NSNumber(value: spaceLength)]
- layer.addSublayer(shapeLayer)
}
}