我有一个文本字段,我正在使用它来输入电子邮件,当用户单击发送按钮时,电子邮件将从同一文本字段中删除,并且其占位符更改为输入 pin。因此,当用户输入 pin 时,我想让文本字段限制为最多 6 个字符。这可能吗?如果是,请帮助我,我是 SwiftUI 的新手。
TextField(placeholder, text: $text)
根据州电子邮件或密码进行的$text
更改
我有一个文本字段,我正在使用它来输入电子邮件,当用户单击发送按钮时,电子邮件将从同一文本字段中删除,并且其占位符更改为输入 pin。因此,当用户输入 pin 时,我想让文本字段限制为最多 6 个字符。这可能吗?如果是,请帮助我,我是 SwiftUI 的新手。
TextField(placeholder, text: $text)
根据州电子邮件或密码进行的$text
更改
您可以使用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())
}
}
}
}
}