在开发的时候会遇到一个页面既有点击手势又有tableview,那么这个时候tableview的点击就会被点击手势取代,那么我们应该怎么处理呢?
首先我们先添加一个手势:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disMissGrantureADD:)]; [tap setNumberOfTapsRequired:1]; tap.delegate=self; [self.view addGestureRecognizer:tap];
使用手势的代理进行解决
<UIGestureRecognizerDelegate>
#pragma mark - UIGestureRecognizerDelegate -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {//判断如果点击的是tableView的cell,就把手势给关闭了 return NO;//关闭手势 }//否则手势存在 return YES; }
这样问题就解决了,试一下,点击空白和cell是不是会冲突~~~
那么点击事件不会和那些UI控件冲突,又会和哪些控件冲突呢?(可能不全)
会冲突的:tableview
不会冲突的:button,textField
还有其他的,以后慢慢补充~~~