点击其他单元格时如何在TableViewController中隐藏键盘?

时间:2019-06-20 07:34:52

标签: ios swift xcode

我有带有UITextFields作为单元格的TableViewController和没有TextField的单元格。
 当我轻按另一个没有TextField的单元格时,我想隐藏键盘

4 个答案:

答案 0 :(得分:2)

在您的UITableViewDelegate实现中:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    view.endEditing(true)
}

答案 1 :(得分:1)

这可能会有所帮助-

9

答案 2 :(得分:1)

您有两种处理方式, 首先,您可以通过表视图委托在用户轻按没有TextField的单元格时隐藏键盘,但是您应该忽略具有textfiled的行

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    view.endEditing(true)
}

或者您可以将UITapGestureRecognizer添加到没有文本字段的单元格中

func hideKeyboardWhenTappedAround() {
    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UITableViewCell.dismissKeyboard))

    view.addGestureRecognizer(tap)
}

@objc func dismissKeyboard() {
    view.endEditing(true)
}

答案 3 :(得分:1)

尝试使用“ IQKeyboardManagerSwift”,它具有将来需要的所有键盘控件。