如何在 CAShapeLayer 中绘制垂直虚线?

Met*_*man 1 core-graphics ios swift

我可以用代码绘制水平线:

let lineLayer = CAShapeLayer()    
lineLayer.lineDashPattern = [4, 4]
Run Code Online (Sandbox Code Playgroud)

我想如何创建“条形图”: 在此处输入图片说明

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

Ste*_*cht 7

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

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)
    }

}
Run Code Online (Sandbox Code Playgroud)

这给出了这个结果:

垂直虚线