【问题标题】:CGPathAddArc have some trouble in creating pathCGPathAddArc 在创建路径时遇到了一些麻烦
【发布时间】:2017-05-26 18:29:19
【问题描述】:

嘿,伙计们,我一直在尝试创建路径,但它总是最终显示错误“无法将 NSNull 类型的值转换为预期的参数 UnsafePointer”我不知道如何获取 UnsafePointer为零

这里是代码

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

  }

【问题讨论】:

    标签: swift swift3 cgaffinetransform cgpath unsafe-pointers


    【解决方案1】:

    在 Swift 3 中,add arc 函数的签名无论如何都是错误的:

    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

    【讨论】:

      【解决方案2】:

      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,因此您可以完全省略它,就像我所做的那样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-06
        • 2019-10-21
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-19
        相关资源
        最近更新 更多