我尝试过使用两个文本字段的简单视图。当提交第一个时,我想把重点放在第二个上。这是我的代码。
enum ContentViewFocus {
case field1
case field2
}
struct ContentView: View {
@State private var field1Text = ""
@State private var field2Text = ""
@FocusState private var fieldFocus: ContentViewFocus?
var body: some View {
VStack(spacing: 24.0) {
TextField("field 1", text: $field1Text)
.focused($fieldFocus, equals: .field1)
.onSubmit {
fieldFocus = .field2
}
TextField("field 2", text: $field2Text)
.focused($fieldFocus, equals: .field2)
.onSubmit {
fieldFocus = nil
}
Spacer()
}
.padding(24.0)
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
fieldFocus = .field1
}
}
} …Run Code Online (Sandbox Code Playgroud)