小编Dre*_*ohc的帖子

使用 TextField 为 SwiftUI 创建 OTP 页面

我正在尝试为我的应用程序创建一个 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)

one-time-password uitextfield swiftui

7
推荐指数
1
解决办法
8943
查看次数

标签 统计

one-time-password ×1

swiftui ×1

uitextfield ×1