检测用户何时停止/暂停在 TextField 中写入 - SwiftUI
Posted
技术标签:
【中文标题】检测用户何时停止/暂停在 TextField 中写入 - SwiftUI【英文标题】:Detect when a user stopped / paused writing in TextField - SwiftUI 【发布时间】:2020-07-12 12:55:02 【问题描述】:我想在用户在 SwiftUI 的 TextField 中写完文本时收到通知。
场景如下:
-用户在 TextField 中输入文本。
-当用户编写的字符串长度超过 3 个字符并暂停或完成写入时,我希望应用程序收到通知,以便我可以使用该字符串。
尝试过 .onEditingChanged 但它会在每次更改时调用该操作,而不仅仅是在用户完成编辑时调用。
【问题讨论】:
请检查这是否有帮助***.com/questions/56550881/… 【参考方案1】:试试下面的代码,这样你可以检查用户在文本字段中输入的实时值。
struct MyFormView: View
@State var typingText: String = ""
willSet
if typingText.count == 3
print("User now entering 4th character")
didSet
print(typingText)
var body: some View
let bindText = Binding<String>(
get:self.typingText,
set:self.typingText = $0)
return VStack(alignment: .leading, spacing: 5)
Text("Name")
TextField("Enter Name", text: bindText)
.keyboardType(.default)
.frame(height: 44)
.padding(.all, CGFloat(10))
【讨论】:
以上是关于检测用户何时停止/暂停在 TextField 中写入 - SwiftUI的主要内容,如果未能解决你的问题,请参考以下文章