SwiftUI中的曲线和路径

SwiftUI中的曲线和路径,swiftui,shapes,uibezierpath,tabbar,swiftui-layout,Swiftui,Shapes,Uibezierpath,Tabbar,Swiftui Layout,我试图创建一个弯曲的路径包裹在一个形状,以便附加到一个标签栏,但我有困难得到想要的外观。 这是我想要的样子。关于如何创建这个形状有什么想法吗 通过使用自定义路径并将其附加到选项卡栏,我可以回答自己的问题 struct Arc: Shape { var height: CGFloat = 20 var length: CGFloat = 80 var startX: CGFloat = 0 func path(in rect: CGRect) -> Pat

我试图创建一个弯曲的路径包裹在一个形状,以便附加到一个标签栏,但我有困难得到想要的外观。
这是我想要的样子。关于如何创建这个形状有什么想法吗

通过使用自定义路径并将其附加到选项卡栏,我可以回答自己的问题

struct Arc: Shape {

    var height: CGFloat = 20
    var length: CGFloat = 80
    var startX: CGFloat = 0

    func path(in rect: CGRect) -> Path {
        var path = Path()
        let midPoint: CGFloat = (startX + length) / 2
        let apex1: CGFloat = (startX + midPoint) / 2
        let apex2: CGFloat = (midPoint + length) / 2

        path.move(to: CGPoint(x: startX, y: height))

        path.addCurve(to: CGPoint(x: midPoint, y: 0), control1: CGPoint(x: apex1, y:
            height), control2: CGPoint(x: apex1, y: 0))

        path.addCurve(to: CGPoint(x: length, y: height), control1: CGPoint(x: apex2, y: 0), control2: CGPoint(x: apex2, y: height))


        return path
    }
}