如何圆角这个自定义形状 SwiftUI?

How to round corners of this custom shape SwiftUI?

我使用本教程创建了一个六边形: https://www.hackingwithswift.com/quick-start/swiftui/how-to-draw-polygons-and-stars

我的目标是尝试将六边形的角弄圆。我知道我必须以某种方式使用 path.addCurve,但我不知道我需要在哪里这样做。我只会得到奇怪的结果。有人有想法吗?

struct Polygon: Shape {
    let corners: Int
    let smoothness: CGFloat

    func path(in rect: CGRect) -> Path {
        guard corners >= 2 else { return Path() }
        let center = CGPoint(x: rect.width / 2, y: rect.height / 2)
        var currentAngle = -CGFloat.pi / 2
        let angleAdjustment = .pi * 2 / CGFloat(corners * 2)
        let innerX = center.x * smoothness
        let innerY = center.y * smoothness
        var path = Path()

        path.move(to: CGPoint(x: center.x * cos(currentAngle), y: center.y * sin(currentAngle)))

        var bottomEdge: CGFloat = 0

        for corner in 0 ..< corners * 2 {
            let sinAngle = sin(currentAngle)
            let cosAngle = cos(currentAngle)
            let bottom: CGFloat

            if corner.isMultiple(of: 2) {
                bottom = center.y * sinAngle
                path.addLine(to: CGPoint(x: center.x * cosAngle, y: bottom))
            } else {
                bottom = innerY * sinAngle
                path.addLine(to: CGPoint(x: innerX * cosAngle, y: bottom))
            }

            if bottom > bottomEdge {
                bottomEdge = bottom
            }
            currentAngle += angleAdjustment
        }

        let unusedSpace = (rect.height / 2 - bottomEdge) / 2
        let transform = CGAffineTransform(translationX: center.x, y: center.y + unusedSpace)
        return path.applying(transform)
    }
}

struct Hexagon: View {
    @Environment(\.colorScheme) var colorScheme
    var body: some View {
            Polygon(corners: 3, smoothness: 1)
                .fill(.clear)
                .frame(width: 76, height: 76)
    }
}

尚未找到修复方法,但此库可以满足我的要求: https://github.com/heestand-xyz/PolyKit