如何在圆圈顶部开始和结束路径?

How to start & end a path at top of the circle?

给定以下代码:

        let startAngle: CGFloat = CGFloat( (3 * M_PI) / 2 )
        let endAngle:CGFloat = CGFloat( (3 * M_PI) / 2 )
        let path = UIBezierPath(arcCenter: theCenter, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: true).CGPath

知道这就是 iOS 画圆的方式:

我必须指定什么才能在顶部 (12:00) 开始我的圆并在 90 度结束它?如果我想在 0 处开始和结束,我会分别将开始和结束设置为 0 和 2π。

您需要从 -π/23π/2(顺时针方向)。

您不能像您在问题中尝试的那样从 3π/2 转到 3π/2,因为 iOS 会认为 与 [=28] 相同=] angle - 因此不会生成任何圆弧。因此,您需要使用 3π/2 (-π/2) 的负表示。

虽然注意单位圆是连续的。因此 3π/27π/2 是一个有效的范围。

还要注意单位圆的正角方向其实是逆时针方向。 iOS 随着坐标系的 y 轴翻转,以顺时针方向进行。