Tableview上添加手势点击收回键盘/滑动收回键盘
1.滑动收回键盘(使用拖动,不要使用scrollViewDidScroll,输入框再下方时,弹起键盘会有影响)
///开始触摸滑动
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
if (self.beginDragBlock) self.beginDragBlock();
}
2.tableview上添加手势
2.1添加点击手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
tap.cancelsTouchesInView = NO;(默认为YES 仅点击的控件响应,NO时会穿透,cell上控件以及tap时间同事响应)
tap.delegate = self;
[_tableView addGestureRecognizer:tap];
2.2实现代理
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
DebugLog(@"%@",NSStringFromClass([touch.view class]));
//根据情况进行处理
//如果点击UITextfiled的删除按钮时特殊处理一下,键盘会消失后弹出
if ([NSStringFromClass([touch.view class]) isEqualToString:@"_UITextFieldClearButton"]) {
return NO;
}
//如果想自己控制tableviewcell的点击做如下处理
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}
///点击手势
-
(void)tap:(UITapGestureRecognizer* _Nullable)tap{
[self.view endEditing:YES];
}