【发布时间】:2020-01-14 22:22:47
【问题描述】:
我想在一个圆的两点之间画一个半圆。 main 代表一个时钟,我想画另一条线来表示从一个小时到另一个小时的进度,因此点的位置可能会有所不同。首先,我知道我感兴趣的 2 个点的 X 和 Y。这就是我尝试在 UIBezierPath 中添加角度的方式。我的问题是新圈子开始正确但在完全随机的位置结束
let firstAngle = atan2(redPoint.y - circleCenter.y, redPoint.x - circleCenter.x)
let secondAngle = atan2(bluePoint.y - circleCenter.y, bluePoint.x - circleCenter.x) ```
let circlePath1 = UIBezierPath(arcCenter: circleCenter,
radius: circleRadius,
startAngle: firstAngle,
endAngle: secondAngle,
clockwise: true) ```
无论我在哪里设置红点,圆圈从正确的位置开始,但圆圈永远不会在蓝点。
【问题讨论】:
-
我在这里摆姿势时更改了变量名称,以使问题更易于理解。现在更改它以显示正确
-
我找不到与您的代码有关的问题。确保您对点和角度使用相同的坐标空间。我发现这个游乐场有助于测试贝塞尔路径:github.com/DigitalLeaves/BezierPathPlaygrounds
标签: ios swift xcode uibezierpath cashapelayer