SwiftUI:使用路径绘制矩形

SwiftUI:使用路径绘制矩形,swiftui,Swiftui,有人能解释一下下面的SwiftUI代码是如何绘制三角形的吗 var body: some View { Path { p in p.addLines([ CGPoint(x: 50, y: 0), CGPoint(x: 100, y: 50), CGPoint(x: 0, y: 50) ])} } } 看起来路径会自动用第一行关闭最后一行。关于当前代码生成三角形的原因,请参见

有人能解释一下下面的SwiftUI代码是如何绘制三角形的吗

var body: some View {
    Path { p in
        p.addLines([
            CGPoint(x: 50, y: 0),
            CGPoint(x: 100, y: 50),
            CGPoint(x: 0, y: 50)
        ])}
    }
}

看起来路径会自动用第一行关闭最后一行。关于当前代码生成三角形的原因,请参见下图:

在您的情况下,矩形是:

Path { p in
p.addLines([
    CGPoint(x: 0, y: 0),
    CGPoint(x: 150, y: 0),
    CGPoint(x: 150, y: 100),
    CGPoint(x: 0, y: 100)
])}
或者只是:

Path(CGRect(x: 0, y: 0, width: 150, height: 100))

或者您可以在开始处添加
path.move(to:CGPoint(x:0,y:0))
以启动路径开始point@Aspid我删除了路径。从我的问题开始,它实现了什么?路径不是默认从0,0开始吗?@Faraaz您可以在一条路径中绘制多个图形。为此,请使用move(To:)和closeSubpath()。我想他们是为了这个目的