Avatar ·

如何在 SwiftUI 中只圆角化 View 的特定角?

大家好!我是 SwiftUI 的新手,遇到了一个问题:我需要将一个矩形 View 的仅两个上角圆角化,而下角保持直角。在普通的 UIKit 中,我使用了 UIBezierPath 和 CAShapeLayer,但在 SwiftUI 中,似乎没有直接的修饰符用于选择性圆角化。

我尝试过使用 .cornerRadius(20),但它会圆角化所有四个角。我还阅读了关于 .clipShape(RoundedRectangle(cornerRadius: 20)) 的内容,但这也没有解决问题——所有角都被圆角化了。

以下是我的代码示例:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("你好,世界!")
                .padding()
                .background(Color.blue)
                .cornerRadius(20) // 圆角化所有角
        }
        .padding()
    }
}

我需要上角是圆角的,而下角保持直角。如何在 SwiftUI 中实现这一点?是否有