【发布时间】:2021-05-22 23:04:25
【问题描述】:
您是否曾尝试在使用TextField 在SwiftUI 中按intro 和keyboard 关闭时处理该事件?
TextField("type your name here", text: $yourName)
我如何知道用户 dismiss keyboard 何时按下“介绍”按钮?
非常感谢!
【问题讨论】:
标签: swiftui keyboard textfield ios14
您是否曾尝试在使用TextField 在SwiftUI 中按intro 和keyboard 关闭时处理该事件?
TextField("type your name here", text: $yourName)
我如何知道用户 dismiss keyboard 何时按下“介绍”按钮?
非常感谢!
【问题讨论】:
标签: swiftui keyboard textfield ios14
您可以使用来自TextField 的onCommit 参数。这是一个例子:
TextField("type your name here", text: $yourName, onCommit: {
print("return key pressed")
})
来自文档:
/// [...]
/// - onCommit: An action to perform when the user performs an action
/// (for example, when the user presses the Return key) while the text
/// field has focus.
public init(_ titleKey: LocalizedStringKey, text: Binding<String>, onEditingChanged: @escaping (Bool) -> Void = { _ in }, onCommit: @escaping () -> Void = {})
【讨论】:
在TextField被声明之后,添加一个闭包并用这个代码填充它:UIApplication.shared.keyWindow?.endEditing(true)
总之就是这样
TextField($yourText){
UIApplication.shared.keyWindow?.endEditing(true)
}
此视频在 8:00 左右进行了解释。
【讨论】: