我有两行带有SwiftUI路径的代码(见下图).我想把它们连接成一个完美光滑的弧线,这样它看起来就像this图像中的演讲气泡 tail .
我正在努力让它顺利地连接起来.正如你在我的图像中看到的,它几乎是完美的,但直线和弧线(在右边)之间的第一个连接并不完美.
你知道我做错了什么吗?我甚至把它画在纸上,我看不出哪个值是不正确的.
struct SpeechBubbleTail: Shape {
private let radius: CGFloat
init(radius: CGFloat = 10) {
self.radius = radius
}
func path(in rect: CGRect) -> Path {
Path { path in
path.move(to: CGPoint(x: rect.maxX, y: rect.minY))
path.addLine(to: CGPoint(x: rect.minX + radius, y: rect.maxY - radius))
path.addArc(
center: CGPoint(x: rect.minX + ((radius / 2) * 1.5), y: rect.maxY - (radius * 1.5)),
radius: (radius / 2),
startAngle: Angle(degrees: 45),
endAngle: Angle(degrees: 180),
clockwise: false
)
path.addLine(to: CGPoint(x: rect.minX + ((radius / 2) * 0.5), y: rect.minY))
}
}
}