小编ami*_*abi的帖子

为什么几何阅读器不将其孩子居中?

红色边框是几何区域,黑色边框是文本区域

目前使用 Xcode12 Beta 3

struct Testing_Geometry_: View {
    var body: some View {
        GeometryReader { geo in
            Text("Hello, World!")
                .border(Color.black)
        }
        .border(Color.red)
    }
}
Run Code Online (Sandbox Code Playgroud)

我想使用此代码将文本置于中心位置

struct Testing_Geometry_: View {
    var body: some View {
        GeometryReader { geo in
            Text("Hello, World!")
                .position(x:geo.frame(in:.global).midX,y:geo.frame(in:.global).midY)
                .border(Color.black)
        }
        .border(Color.red)
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到了这个结果,这意味着 Text 占用了整个几何尺寸,我认为这是不正确的!因为文本必须适合它们的空间

@twostraws 为布局系统建议的三个角色是

1- 父母提供其大小

2-child 选择它的大小

3-parent 定位其孩子

但我认为这是不对的!

文字占据了整个几何空间

swift swiftui geometryreader

4
推荐指数
2
解决办法
1392
查看次数

标签 统计

geometryreader ×1

swift ×1

swiftui ×1