UIGestureRecognizer 和点击事件冲突问题

最近做项目时候, 遇到 UIGestureRecognizer 与手势或 tableView(列表) 点击事件冲突了,我在tableView 父View 加了一个UIGestureRecognizer事件, 结果导致,didSelectRowAtIndexPath点击无效, 事件冲突了,解决方法如下:

把UIGestureRecognizer delegate 实现, 在代理方法判断,点击的视图 响应相应的事件就好了

  UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(removeSelectView)];
        tap.delegate = self;
        [self addGestureRecognizer:tap];

实现UIGestureRecognizerDelegate中的代理


- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    if ([touch.view isKindOfClass:[UITableView class]]) {
       return NO;
    }
    return YES ;
}

你可能感兴趣的:(ios)