SwiftUI中GeometryReader的转弯半径问题
我在GeometryReader中有一个红色的小Rec,如果我在GeometryReader上使用cornerRadius,它将裁剪Rec,我不想要它。请参见照片中的尊重:SwiftUI中GeometryReader的转弯半径问题,swiftui,Swiftui,我在GeometryReader中有一个红色的小Rec,如果我在GeometryReader上使用cornerRadius,它将裁剪Rec,我不想要它。请参见照片中的尊重: struct ContentView: View { var body: some View { GeometryReader { _ in Rectangle() .fill(Color.red)
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本身并不是按照假设进行渲染(或者至少像我们通常认为的视觉组件那样进行渲染),但正如我们从您的示例中所看到的,它基本上被视为一个容器视图——给它一个角半径,最终会裁剪出内容边界之外的所有内容减去角半径