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