CGContextSetLineDash不可用

时间:2017-01-30 18:11:15

标签: ios swift swift3 cgcontext

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

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

  

CGContextSetLineDash不可用:使用setLineDash(self:phase:lengths:)

我试过CGContext.setLineDash无效,有什么建议吗?

2 个答案:

答案 0 :(得分:2)

setLineDash不是静态/类方法,它是一个实例方法:

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

答案 1 :(得分:2)

在Swift 3中,CGContext是一个带有实例方法的伪对象。

因此,例如:

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