繁体   English   中英

手势关闭键盘后,TableView点击失败

[英]TableView taps fail after gesture to dismiss keyboard

苹果公司未能允许用户解雇键盘的失败给苹果公司造成了损失。

我已经设法在一些视图上添加了执行此操作的代码,但是现在我有了一个带有TextView和几个TableView的ViewController。

在使用“敲击手势识别器”关闭键盘后,表格单元格上的敲击不会触发。 代码如下。

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似乎有效,但单元格触发器无效。

就像这里经常发生的那样,发布问题的过程会导致自我回答。

如果使用TableView单元水龙头(我想通常是这样),则将以下行添加到手势设置中。

gestureRecognizer.cancelsTouchesInView = false

可以在这里找到更详细的解决方案。 通过触摸UITableView的背景来关闭键盘

嘿@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.选择文本字段
2.转到属性检查器,然后将键盘类型选择为默认,将“返回键”选择为“完成”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM