TextField接受有限字符SwiftUi

问题描述 投票:0回答:1

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

TextField(placeholder, text: $text)

$text根据电子邮件或密码的状态而变化

swift uitextfield swiftui swiftui-environment swiftui-form
1个回答
0
投票

您可以使用PublisheronReceive进行操作。

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())
                    }
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.