iOS点击手势和tableview的点击冲突

在开发的时候会遇到一个页面既有点击手势又有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

还有其他的,以后慢慢补充~~~

posted @ 2016-12-16 09:46  NSJELLY  阅读(6974)  评论(0编辑  收藏  举报