CGContextSetLineDash 不可用

CGContextSetLineDash is unavailable

CGContextSetLineDash(context, 0, [2, 2], 2)

使用上面的代码行我得到错误:

CGContextSetLineDash is unavailable: Use setLineDash(self:phase:lengths:)

我试过CGContext.setLineDash没用,有什么建议吗?

setLineDash 不是 static/class 方法,它是实例方法:

context.setLineDash(phase: 0, lengths: [2, 2])

在Swift3中,一个CGContext是一个pseudo-object带有实例方法的

因此,例如:

class V : UIView {
    override func draw(_ rect: CGRect) {
        let c = UIGraphicsGetCurrentContext()!
        c.setLineDash(phase: 0, lengths: [2,2])
        // ... 
    }
}