苹果公司允许用户解雇键盘的失败正在造成损失......
我已经设法在几个视图上添加代码来执行此操作,但现在我有一个带有TextView和几个TableView的ViewController。
使用Tap Gesture Recognizer关闭键盘后,表格单元格上的水龙头不会触发。代码如下。
func tap(gesture: UITapGestureRecognizer) {
if gesture.view!.tag != 33 {
self.view.endEditing(true)
titleView.resignFirstResponder()
}
}
这可能是腰带&但是我试图看看是否/可能有效。 (标签33是实际的TextView)
表格单元格以通常的方式触发,没有点击手势代码,它可以正常工作。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: false)....
按钮上的IBAction点击似乎有效但不是单元格触发器。
答案 0 :(得分:0)
正如通常的情况一样,发布问题的过程会导致自我回答......
如果使用TableView单元格点击(我猜一般情况下),请将以下行添加到手势设置中。
gestureRecognizer.cancelsTouchesInView = false
可以在此处找到更详细的解决方案。 Dismiss keyboard by touching background of UITableView
答案 1 :(得分:0)
嘿@RobertyBob添加手势识别器不允许执行selectRowForIndex路径。
要关闭键盘,我建议您将代码添加到控制器文件中。
请注意:符合协议UITextFieldDelegate并设置所有textfields.delegate = self。
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
另一种最佳方式
1。选择TextField
2。转到属性检查器并选择键盘类型为默认值并将键返回到完成