我正在努力寻找文档来支持这一点,但是似乎值
GeometryReader.size.width和高度在键盘打开时更改。可以通过以下方式证明这一点:
var body: some View {
TabView {
GeometryReader { g in
Rectangle()
.frame(width:g.size.width/2,height:g.size.height/20)
TextField(...)
}
}
}
它显示了通过单击文本字段打开键盘时矩形的大小。
如何防止这种情况发生?我想指定相对于屏幕尺寸的框架尺寸以支持许多屏幕尺寸...
答案 0 :(得分:2)
您不需要几何读取器即可知道屏幕的尺寸。您可以使用UIScreen.main.bounds.width
和UIScreen.main.bounds.height
获取屏幕尺寸。
注意宽度总是显示水平尺寸的大小,高度总是显示垂直尺寸(如果屏幕旋转)