我在我的视图中使用 TextField,当它成为第一响应者时,它会离开视图,如下面的 GIF 所示。
有什么办法可以摆脱这种行为吗?
这是我的代码
NavigationView(content: {
ZStack{
MyTabView(selectedIndex: self.$index)
.view(item: self.item1) {
NewView(title: "Hello1").navigationBarTitle("")
.navigationBarHidden(true)
}
.view(item: self.item2) {
NewView(title: "Hello2").navigationBarTitle("")
.navigationBarHidden(true)
}
.view(item: self.item3) {
NewView(title: "Hello3").navigationBarTitle("")
.navigationBarHidden(true)
}
}.navigationBarHidden(true)
.navigationBarTitle("")
}).ignoresSafeArea(.keyboard, edges: .bottom)
Run Code Online (Sandbox Code Playgroud)
// 新视图
struct NewView:View {
@State var text:String = ""
var title:String
var body: some View {
VStack {
Spacer()
Text("Hello")
TextField(title, text: self.$text)
.textFieldStyle(RoundedBorderTextFieldStyle())
}.padding()
.onAppear {
debugPrint("OnApper \(self.title)")
}
}
}
Run Code Online (Sandbox Code Playgroud) 从 iOS14 开始,我发现TextField
一旦键盘出现,我所有的s 都会自动向上移动。
我还没有找到阻止这种情况的方法,我错过了什么吗?
这是一个简单的演示+代码:
演示:
代码:
import SwiftUI
struct ContentView: View {
@State private var textInput: String = ""
var body: some View {
TextField("Test", text: $textInput)
}
}
Run Code Online (Sandbox Code Playgroud)