如何解决SwiftUI:在选项卡视图中显示键盘会在第二个选项卡视图下方添加一个奇怪的空间
这听起来像是 SwiftUI 的 NavigationView
和 TabView
中的一个错误,当我有一个 TabView
和(比如说)2 个标签时,第一个标签有一个 TextField
,而第二个选项卡有一个 NavigationView
,请按照以下步骤生成错误:
-注意1:如果您执行以下任何操作,则不会重现该错误:
注意 2:
我在选项卡 2 中使用 GeometryReader
以黄色显示整个视图区域。
工作代码示例(只需复制粘贴即可尝试):
struct ContentView: View {
var body: some View {
TabView {
View1()
.tabItem { Text("View1") }
.tag(1)
View2()
.tabItem { Text("View2") }
.tag(2)
}
}
}
struct View1: View {
@State private var myText = ""
var body: some View {
vstack {
Text("this is view 1")
TextField("Enter Value",text: $myText)
}
}
}
struct View2: View {
var body: some View {
NavigationView {
GeometryReader { reader in
Text("this is view 2")
.onAppear{
print("view 2 on appear")
}
}
.background(Color.yellow)
}
}
}
截图:
有没有办法在不删除 NavigationView
的情况下解决这个问题,我尝试了所有可能的解决方案,但找不到避免它的线索?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。