TextField 接受有限的字符 SwiftUi
Posted
技术标签:
【中文标题】TextField 接受有限的字符 SwiftUi【英文标题】:TextField accept limited characters SwiftUi 【发布时间】:2020-04-15 10:21:09 【问题描述】:我有一个文本字段,我正在使用它输入电子邮件,当用户单击发送按钮时,电子邮件将从同一文本字段中删除,并且其占位符更改为输入 pin。因此,当用户输入 pin 时,我想让文本字段限制为最多 6 个字符。这可能吗?如果是,请帮助我,我是 SwiftUI 的新手。
TextField(placeholder, text: $text)
$text
会根据状态电子邮件或 pin 更改
【问题讨论】:
也许这对你有用 -> ***.com/a/58364685/7512091 【参考方案1】:您可以使用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())
【讨论】:
我遇到了未声明发布者的问题 你不声明某种出版商吗? 我没有声明任何变量,我将整个代码粘贴到 ans 中。 当用户输入更多字符时,它们很快就会显示出来然后被删除,有没有办法防止这种情况发生?以上是关于TextField 接受有限的字符 SwiftUi的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 在 ForEach 中获取 TextField 数组
SwiftUI TextField 不接受整数/双精度。怎么做?
如何创建只接受数字和单个点的 SwiftUI TextField?