IOS 手势与Button事件互不影响

来源:互联网 发布:百视通网络电视电话 编辑:程序博客网 时间:2024/05/21 08:55
1、首先在.h 头文件中添加<UIGestureRecognizerDelegate>委托
2、在.m 体文件中添加实现该委托的方法
#pragma mark - UIGestureRecognizerDelegate

// 当一个事件判定为是一个手势时,先进入手势代理方法。该方法中判断点击的视图是不是button如果是button则返回NO,手势不响应该事件,既然没响应,也不会取消该事件的传递。则button会接收到该事件,并作处理;方法二是判断点击位置与button位置是否重合,如果有重合,则表明点击了button

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{        // 判断是不是UIButton的类    if ([touch.view isKindOfClass:[UIButton class]])    {        return NO;    }    else    {        return YES;    }    //方法二,判断点击的位置    //CGPoint location = [touch locationInView:self.view];    /*    if(CGRectContainsPoint(self.btn.frame, location))    {        [self GoOtherView:nil];        return NO;    }else{        return YES;    }     */}




原创粉丝点击