如何在视图中通过 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)
}
}
结果如下:
我可以用这段代码画一条水平线:
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)
}
}
结果如下: