UI美化
正常情况下,只要触摸焦点放在输入框如textField/textView上,自动会弹出键盘,所以,隐藏键盘的最终方法就是让控件失去焦点。
textField.resignFirstResponder()
textView.resignFirstResponder()
用例一.TextField按Enter键隐藏
实现委托UITextFieldDelegate 方法
func textFieldShouldReturn(textField:UITextField) -> Bool { textField.resignFirstResponder() return true }
用例二.点击其他任意地方隐藏(不适用于tableView)
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { textField.resignFirstResponder() }
用例三.点击手势隐藏(不适用于tableview,涉及cell点击冲突)
//声明隐藏虚拟键盘的操作 let hideTap = UITapGestureRecognizer(target: self, action: #selector(hidekeyboardTap(recognizer:))) hideTap.numberOfTapsRequired = 1 self.view.isUserInteractionEnabled = true self.view.addGestureRecognizer(hideTap) //隐藏视图中的虚拟键盘 func hidekeyboardTap(recognizer:UITapGestureRecognizer) { self.view.endEditing(true) }
用例四.滚动tableView隐藏
override func scrollViewDidScroll(_ scrollView: UIScrollView) { textField.resignFirstResponder() }