我很难找到支持这一点的文档,但的值似乎
GeometryReader.size.width&当键盘打开时,高度会发生变化。这可以通过以下方式来证明:
var body: some View {
TabView {
GeometryReader { g in
Rectangle()
.frame(width:g.size.width/2,height:g.size.height/20)
TextField(...)
}
}
}
它显示了当键盘通过点击文本字段打开时矩形的大小调整。
我该如何防止这种情况发生?我想指定相对于屏幕大小的框架大小,以支持许多屏幕大小。。。
您不需要几何体读取器就可以知道屏幕的大小。您可以使用UIScreen.main.bounds.width
和UIScreen.main.bounds.height
来获得屏幕的尺寸。钞票宽度总是显示水平尺寸,高度总是显示垂直尺寸(如果屏幕旋转(
将其添加到GeometryReader:
.ignoresSafeArea(.keyboard)