解决方法1:设置UITapGestureRecognizer对象的cancelsTouchesInView属性为NO
解决方法2:用代理,UIGestureRecognizerDelegate
当一个事件判定为是一个手势时,先进入手势代理方法。该方法中判断点击的视图是不是button
如果是button则返回NO,手势不响应该事件,既然没响应,也不会取消该事件的传递。则button
会接收到该事件,并作处理。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isKindOfClass:[UIButton class]]) {
return NO;
}
else
{
return YES;
}
}