通过触摸UITableViewController的背景隐藏键盘
要在触摸UITableViewController的背景时隐藏键盘。目前,我已经实现了在按下回车键的同时移除键盘,但在按下外部某个位置时仍然无法工作。我的代码:通过触摸UITableViewController的背景隐藏键盘,uitableview,swift,Uitableview,Swift,要在触摸UITableViewController的背景时隐藏键盘。目前,我已经实现了在按下回车键的同时移除键盘,但在按下外部某个位置时仍然无法工作。我的代码: class SecondViewController: UITableViewController, UITextFieldDelegate { ... // Hide Keyboard while pressing return func textFieldShouldReturn(textField: UITextF
class SecondViewController: UITableViewController, UITextFieldDelegate {
...
// Hide Keyboard while pressing return
func textFieldShouldReturn(textField: UITextField) -> Bool {
tb_Name.resignFirstResponder()
tb_Description.resignFirstResponder()
return true
}
// Hide Keyboard while pressing somewhere on the UI
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.view.endEditing(true)
}
}
奇怪的是,当我在“普通”视图控制器中添加这段代码时,它就可以正常工作了。在表视图控件中,不能使用
Thx.您可以尝试在其上添加一个手势:
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(hideKeyboard)];
tapGestureRecognizer.cancelsTouchesInView = NO;
[self.tableView addGestureRecognizer:tapGestureRecognizer];
实际上有很多方法可以解决这个问题,这取决于你想要的行为。这不是一种点击关闭的方法,但是如果你的目标是iOS 7及以上版本,你可以将tableView的
keyboardDismissMode
属性设置为OnDrag或Interactive以关闭键盘,并在tableView上进行交互<代码>tableView.keyboardDismissMode=UIScrollViewKeyboardDismissMode.OnDrag