如何在视图中通过 CAShapeLayer 绘制垂直虚线?

How to draw dashed vertical lines via CAShapeLayer in a view?

我可以用这段代码画一条水平线:

let lineLayer = CAShapeLayer()    
lineLayer.lineDashPattern = [4, 4]

我想创建一个如下所示的“条形图”:

我已经创建了条形图,但无法添加垂直虚线。 CALayer只有一种方法。

要绘制垂直虚线,您可以执行以下操作:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let lineLayer = CAShapeLayer()
        lineLayer.strokeColor = UIColor.gray.cgColor
        lineLayer.lineWidth = 2
        lineLayer.lineDashPattern = [4,4]
        let path = CGMutablePath()
        path.addLines(between: [CGPoint(x: 30, y: 50),
                                CGPoint(x: 30, y: 300)])
        lineLayer.path = path
        self.view.layer.addSublayer(lineLayer)
    }

}

结果如下: