1、首先在.h 头文件中添加<UIGestureRecognizerDelegate>委托
2、在.m 体文件中添加实现该委托的方法
#pragma mark - 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;
}
*/
}