以下是来自Apple的官方文件:



但是我发现结果似乎恰恰相反。下面是我的代码

var body: some View {
    Path { path in
        path.addArc(center: CGPoint(x: 200, y: 370), radius: 50, startAngle: Angle(degrees: 0), endAngle: Angle(degrees: 180.0), clockwise: true)
        path.closeSubpath()
    }
}

我将顺时针参数设置为true,但结果是圆圈的上半部分,而不是下半部分

path - SwiftUI 中 Path.addArc 的顺时针方向是错误的吗?-LMLPHP

我对苹果的文件理解不正确吗?我的Xcode版本是11.0 beta 4(11M374r)

最佳答案

clockwise参数的含义存在于量子叠加中,当您检查结果时该叠加会折叠。不幸的是,它总是崩溃成与您想要的相反的含义。 😅

更严重的是,我相信“默认坐标系”是指标准的数学笛卡尔坐标系,其中y值随着从 Canvas 底部到顶部的移动而增加。但是,UIKit和SwiftUI使用的是翻转的几何图形,其中y值从 Canvas 的顶部到底部移动时会增加。这颠倒了“顺时针”的含义。

10-08 12:58