键入textview后如何在tableView中关闭键盘

Whi*_*Hat 2 uitableview uitextview uikeyboard ios swift

在我的应用程序中,我有一个UITableView,其中包括第一个单元格a UITextView和其他单元格中的UILabels.

在键入内容后如何解除键盘UITableView?我想在任何时候点击其他单元格或滚动tableview时忽略它.

Mru*_*ank 6

这是最容易和最简单的方式我如何通过IB这样做.

关闭键盘属性
在这里,您可以根据需要设置属性

或者如果你想通过编程那么

self.tableView.keyboardDismissMode = .onDrag
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用:通过代码self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; (2认同)

kej*_*eji 5

您可以使用UITableViewDelegate符合 的 来UIScrollViewDelegate实现:

func scrollViewWillBeginDragging(scrollView: UIScrollView) {
     dismissKeyboard()
}

func dismissKeyboard(){
     self.view.endEditing(true)
}

//Add to viewDidLoad:
var tapGesture = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
tableView.addGestureRecognizer(tapGesture)

//Or since you wanted to dismiss when another cell is selected use:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
     dismissKeyboard()
}
Run Code Online (Sandbox Code Playgroud)