如何在快速在 textFieldDidBeginEditing 委托上呈现另一个视图控制器时隐藏键盘?
Posted
技术标签:
【中文标题】如何在快速在 textFieldDidBeginEditing 委托上呈现另一个视图控制器时隐藏键盘?【英文标题】:How to hide the keyboard while presenting another viewcontroller on textFieldDidBeginEditing delegate in swift? 【发布时间】:2020-11-04 09:38:38 【问题描述】:我有两个文本字段,一个用于文件名,另一个用于从另一个视图控制器中选择选项。我使用第二个文本字段作为下拉菜单。问题是,当我点击第一个文本字段,然后点击第二个文本字段时,键盘没有隐藏。
func textFieldDidBeginEditing(_ textField: UITextField)
if textField == "fileUserCan"
textField.endEditing(true)
guard let controller = UIStoryboard(name: "DownloadView", bundle: nil).instantiateViewController(withIdentifier: "DonwloadViewVC") as? ViewDownloadViewController else return
controller.modalPresentationStyle = .overFullScreen
controller.modalTransitionStyle = .crossDissolve
controller.callback = check in
self.dismiss(animated: false, completion: nil)
if check == 1
textField.text = "download"
else
textField.text = "file"
textField.endEditing(true)
self.present(controller , animated: true)
【问题讨论】:
使用 textfield.resignFirstResponder() 只有在我只点击第二个文本字段时才有效 你也将它与 textFieldDidEndEditing 结合使用? 你能用代码指定吗 【参考方案1】:你可以为第一个文本字段指定一个标签。
如果你这样做了,你可以这样做:
func textFieldDidEndEditing(_ textField: UITextField)
if textField.tag == 1
textfield.resignFirstResponder()
【讨论】:
当我来自第一个文本字段时,键盘仍处于打开状态 用第二个文本字段试试上面的代码。我相信第一个键盘已经关闭,但是只要你按下第二个文本字段,就会直接调用一个新键盘。以上是关于如何在快速在 textFieldDidBeginEditing 委托上呈现另一个视图控制器时隐藏键盘?的主要内容,如果未能解决你的问题,请参考以下文章
如何在生产中设置快速会话。快速会话在 https 中不起作用