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

问题描述 投票:2回答:2

在我的应用程序中,我有一个UITableView,其第一个细胞包括UITextView,在其他细胞中只包括UILabels。

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

ios swift uitableview uitextview uikeyboard
2个回答
4
投票

您可以使用符合UITableViewDelegateUIScrollViewDelegate来实现:

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()
}

6
投票

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

Dismiss keyboard property 在这里,您可以根据需要设置属性

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

self.tableView.keyboardDismissMode = .onDrag
© www.soinside.com 2019 - 2024. All rights reserved.