Ios 关闭键盘的手势后TableView点击失败
苹果公司不允许用户关闭键盘的做法正在付出代价 我已经设法在一些视图上添加了代码来实现这一点,但现在我有了一个带有TextView和几个TableView的ViewController 在我使用点击手势识别器关闭键盘后,对表格单元格的点击不会触发。代码如下Ios 关闭键盘的手势后TableView点击失败,ios,swift,uitableview,Ios,Swift,Uitableview,苹果公司不允许用户关闭键盘的做法正在付出代价 我已经设法在一些视图上添加了代码来实现这一点,但现在我有了一个带有TextView和几个TableView的ViewController 在我使用点击手势识别器关闭键盘后,对表格单元格的点击不会触发。代码如下 func tap(gesture: UITapGestureRecognizer) { if gesture.view!.tag != 33 { self.view.endEditing(true) ti
func tap(gesture: UITapGestureRecognizer) {
if gesture.view!.tag != 33 {
self.view.endEditing(true)
titleView.resignFirstResponder()
}
}
这可能是皮带和背带,但我想看看是否/什么可能有效。(标记33是实际的文本视图)
表格单元格按常规方式触发,无需点击手势代码即可正常工作
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: false)....
点击按钮的iAction似乎有效,但单元格触发器无效。正如这里经常出现的情况一样,发布问题的过程会导致自我回答 如果使用TableView单元格点击(我猜通常是这样),请在手势设置中添加以下行
gestureRecognizer.cancelsTouchesInView = false
更详细的解决方案可以在这里找到。
Hey@RobertyBob添加手势识别器不允许执行did selectRowForIndex Path。
要关闭上的键盘,我建议您向控制器文件中添加代码。
注意:符合协议UITextFieldDelegate并设置所有textfields.delegate=self
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
-(BOOL)textField应返回:(UITextField*)textField{
[textField resignFirstResponder];
返回YES;
}
-(无效)触摸开始:(NSSet*)触摸事件:(UIEvent*)事件{
[自视图编辑:是];
}
另一个最好的方法
1。选择文本字段
2。转到属性检查器,将键盘类型选择为默认值,并将键返回为“完成”是否应为tag==33?认为可以-不希望文本视图中的点击结束编辑。这是在以前的视图中添加的,用于处理键盘,但效果很好-辞职的FirstResponder可以完美地启动,只是在那之后,对表格单元格的点击被某种方式阻止了(可能是因为他们试图辞职一个已经辞职的textview?)