ios - 如何在 View 中通过 CAShapeLayer 绘制垂直虚线?

标签 ios swift core-graphics

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

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

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

我已经创建了条形图,但无法添加垂直虚线。 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)
    }

}

这给出了这个结果:

vertically dashed line

关于ios - 如何在 View 中通过 CAShapeLayer 绘制垂直虚线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51346129/

相关文章:

ios - 半透明模态视图 Controller 不覆盖状态栏

iphone - ios View 坐标系

ios - Apple 的 iPhone 磁力计校准工作正常吗?

ios - 重置导航栏

ios - `addingPercentEncoding` 在 Xcode 9 中损坏了吗?

iOS CoreBluetooth 无法在后台接收通知

swift - 将 CGImageRef 保存到 png 文件?

ios - 如何使用 Core Graphics 在 iOS 中计算和绘制尺寸线(具有垂直端线的线)?

iphone - 方向改变触发的方法

ios - 将 Objective-C#define 宏转换为 Swift