CGPathAddArc在创建路径时遇到一些麻烦

时间:2017-05-26 18:29:20

标签: swift swift3 cgaffinetransform cgpath unsafe-pointers

嘿伙计们我一直试图创建一条路径,但它总是显示错误''无法将NSNull类型的值转换为预期的参数UnsafePointer< CGAffineTransform> ''我不知道如何获得UnsafePointer< CGAffineTransform>是零

这是代码

class func path(radius: Double) -> CGMutablePath {
    var path: CGMutablePath = CGMutablePath()
    CGPathAddArc(path, NSNull ,  0.0, 0.0, radius, 0.0, 2.0 * M_PI, true)
    return path

  }

2 个答案:

答案 0 :(得分:1)

在Swift 3中,添加弧功能的签名无论如何都是错误的:

class func path(radius: CGFloat) -> CGMutablePath {
    let path = CGMutablePath()
    path.addArc(center: CGPoint(), radius: radius, startAngle: 0.0, endAngle: 2.0 * .pi, clockwise: true)
    return path
 }

transform参数是可选的,默认为nil

答案 1 :(得分:0)

CGPathAddArc函数在Swift 3.0及更高版本中是CGMutablePath上的方法:

class func path(radius: Double) -> CGMutablePath {
    var path: CGMutablePath = CGMutablePath()
    path.addArc(center: .zero, radius: CGFloat(radius), startAngle: 0, endAngle: 2 * .pi,
        clockwise: true)
    return path
}

transform参数是可选的,默认为nil,因此您可以像我一样完全省略它。