iOS解决手势点击和按钮点击事件冲突?

在开发中有可以会遇见这样的问题,添加手势的同时,会和点击事件冲突。这是由于手势是大哥,点击事件是小弟,可以理解为手势优于点击事件。那么怎么解决呢?我们可以实现手势delegate方法,拦截事件就可以了,具体方法如下:

-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldReceiveTouch:(UITouch*)touch{

    // touch.view 就是手势的view,判断它是否为self.view的子类或本身 手势冲突时候,拦截手势

    if([touch.viewisKindOfClass:[self.viewclass]]) {

        returnNO;

    }

    return YES;

}

那如果在一个对象上加多个手势呢? 由于只会执行最后一个手势,所以我们需要实现手势的代理方法:

-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer

{

       returnYES;

}

你可能感兴趣的:(iOS解决手势点击和按钮点击事件冲突?)