我正在尝试为我的应用程序创建一个 OTP 页面,但在第一个文本字段中输入一个数字后,我不知道如何使下一个文本字段成为焦点。
我为 OTP 的每个数字创建了 6 个文本字段。一旦我从第一个文本字段中输入一个数字,下一个文本字段应该是第一个响应者,依此类推,直到所有 6 个数字都完成。
我不知道如何在 Swift UI 中做到这一点。到目前为止,我只成功创建了 6 行,如屏幕截图所示。预期每行只有一位数字。因此,一旦我输入单个整数,下一个文本字段应该成为焦点。
我尝试了其他帖子,例如使用@FocusState,但它说未知属性。
我还尝试了自定义文本字段How to move to next TextField in SwiftUI? 但我似乎无法让它发挥作用。
import SwiftUI
struct ContentView: View {
@State private var OTP1 = ""
@State private var OTP2 = ""
@State private var OTP3 = ""
@State private var OTP4 = ""
@State private var OTP5 = ""
@State private var OTP6 = ""
var body: some View {
VStack {
HStack(spacing: 16) {
VStack …Run Code Online (Sandbox Code Playgroud)