0

我有一个文本字段,我正在使用它来输入电子邮件,当用户单击发送按钮时,电子邮件将从同一文本字段中删除,并且其占位符更改为输入 pin。因此,当用户输入 pin 时,我想让文本字段限制为最多 6 个字符。这可能吗?如果是,请帮助我,我是 SwiftUI 的新手。

TextField(placeholder, text: $text)

根据州电子邮件或密码进行的$text更改

4

1 回答 1

3

您可以使用Publisher和来完成onReceive

import SwiftUI

struct ContentView: View {
    @State var text:String = ""
    var body: some View {
        VStack{
            TextField("Enter text", text: $text)
                .onReceive(text.publisher.last()) { (output) in
                    if self.text.count>6{ //set count as you want
                        self.text = String(self.text.dropLast())
                    }
            }
        }
    }
}
于 2020-04-15T11:02:01.280 回答