【发布时间】:2020-06-15 03:08:45
【问题描述】:
这段代码符合我的预期。它画了一条弧线,然后在该弧线的顶部添加一条 50 点宽的线:
path.move(to: .init(x: myX, y: myY))
path.addArc(withCenter: CGPoint(x: centerX, y: centerY), radius: radius1, startAngle: .pi, endAngle: (3 * .pi)/2, clockwise: true)
let currentPoint = path.currentPoint
path.addLine(to: CGPoint(x: currentPoint.x + 50, y: currentPoint.y))
此代码忽略了 addLine 用于添加 50 点宽的线,而只是在第一个弧的顶部开始第二个弧。
path.move(to: .init(x: myX, y: myY))
path.addArc(withCenter: CGPoint(x: centerX, y: centerY), radius: radius1, startAngle: .pi, endAngle: (3 * .pi)/2, clockwise: true)
let currentPoint = path.currentPoint
path.addLine(to: CGPoint(x: currentPoint.x + 50, y: currentPoint.y))
path.addArc(withCenter: CGPoint(x: centerX + 50, y: centerY), radius: radius1, startAngle: (3 * .pi)/2, endAngle: .pi, clockwise: false)
使用第二段代码,如果我注释掉 addLine 代码,我会得到完全相同的输出。如果我将 addLine 代码更改为添加 300 个 pixels 点而不是 50 个点,我得到完全相同的输出。 addLine 代码被忽略,我得到两条弧线,在第一个端点和第二个端点之间没有一条线开始。
有什么建议吗?非常感谢!
【问题讨论】:
-
你想要达到什么目的?
标签: ios swift drawing uibezierpath cashapelayer