SwiftUI中GeometryReader的转弯半径问题

SwiftUI中GeometryReader的转弯半径问题,swiftui,Swiftui,我在GeometryReader中有一个红色的小Rec,如果我在GeometryReader上使用cornerRadius,它将裁剪Rec,我不想要它。请参见照片中的尊重: struct ContentView: View { var body: some View { GeometryReader { _ in Rectangle() .fill(Color.red)

我在GeometryReader中有一个红色的小Rec,如果我在GeometryReader上使用cornerRadius,它将裁剪Rec,我不想要它。请参见照片中的尊重:

    struct ContentView: View {
    var body: some View {

        GeometryReader { _ in
            
            Rectangle()
                .fill(Color.red)
                .frame(width: 100, height: 100, alignment: .center)
                .position(x: 0, y: 0)
            
            
        }
        .background(Color.yellow)
        .frame(width: 200, height: 300, alignment: .center)
        .cornerRadius(10)      // <<: Here try comment and uncomment it to see the result!

        
    }
}
struct ContentView:View{
var body:一些观点{
GeometryReader{uu}in
矩形()
.填充(颜色.红色)
.框架(宽度:100,高度:100,对齐:。中心)
.位置(x:0,y:0)
}
.背景(颜色.黄色)
.框架(宽:200,高:300,对齐:。中心)

.cornerRadius(10)/如果您只希望黄色具有拐角半径,而不希望裁剪红色正方形,请仅为背景提供拐角半径:

.background(
            Color.yellow
                .cornerRadius(10)
        )
如果您希望红方块也有一个角半径,但不想被裁剪,请也给它一个角半径:

Rectangle()
                .fill(Color.red)
                .frame(width: 100, height: 100, alignment: .center)
                .cornerRadius(10)
                .position(x: 0, y: 0)
为GeometryReader本身指定一个角半径并不是我期望得到的直接结果,因为GeometryReader本身并不是按照假设进行渲染(或者至少像我们通常认为的视觉组件那样进行渲染),但正如我们从您的示例中所看到的,它基本上被视为一个容器视图——给它一个角半径,最终会裁剪出内容边界之外的所有内容减去角半径