将CGPathAddArcToPoint转换为Swift 3

将CGPathAddArcToPoint转换为Swift 3,swift,swift3,core-graphics,cgpath,Swift,Swift3,Core Graphics,Cgpath,我升级到了Swift 3,我在网上找不到解决这个问题的方法。我能够研究移动并添加一行,但这行不行 CGPathAddArcToPoint(bubblePath, nil, bubbleRect.origin.x+bubbleRect.size.width, bubbleRect.origin.y, bubbleRect.origin.x+bubbleRect.size.width, bubbleRect.origin.y+self.cornerRadius, self.

我升级到了Swift 3,我在网上找不到解决这个问题的方法。我能够研究移动并添加一行,但这行不行

CGPathAddArcToPoint(bubblePath, nil,
    bubbleRect.origin.x+bubbleRect.size.width, bubbleRect.origin.y, 
    bubbleRect.origin.x+bubbleRect.size.width, bubbleRect.origin.y+self.cornerRadius,
    self.cornerRadius)
这是我的原始代码,但我不知道如何转换它。我很确定我需要使用addArc,但这就是我研究的范围

有人能帮我吗?

,所以你需要这样做:

let bubblePath = CGMutablePath.init()
let point1 = CGPoint(x: bubbleRect.origin.x+bubbleRect.size.width, y: bubbleRect.origin.y)
let point2 = CGPoint(x: bubbleRect.origin.x+bubbleRect.size.width, y: bubbleRect.origin.y+self.cornerRadius) 
bubblePath.addArc(tangent1End: point1, tangent2End: point2, radius: self.cornerRadius)
Swift(3及更高版本)替代品为

您可以这样使用它(为了简洁起见,还可以在
CGRect
上使用其他一些方便的Swift API):


(请注意,
transform
参数的默认值为
.identity
,因此如果您在全局函数版本中使用了
nil
,则可以不使用该参数。)

bubblePath
可能已经存在,因此可能不需要第一行。非常感谢您的帮助。我会马上解决这个问题。非常感谢,我会尽快添加这个。非常感谢。
bubblePath.addArc(tangent1End: CGPoint(x: bubbleRect.maxX, y: bubbleRect.minY)
                  tangent2End: CGPoint(x: bubbleRect.maxX, y: bubbleRect.minY + self.cornerRadius),
                  radius: self.cornerRadius)