diff --git a/sources/HUBComponentWrapper.m b/sources/HUBComponentWrapper.m index 99fcf6a2..4acbcf89 100644 --- a/sources/HUBComponentWrapper.m +++ b/sources/HUBComponentWrapper.m @@ -418,24 +418,19 @@ - (void)resizeObservingViewDidResize:(HUBComponentResizeObservingView *)view - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { - return YES; + UIView *gestureView = gestureRecognizer.view; + if (gestureView == nil || [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { + return YES; + } + return [otherGestureRecognizer.view isDescendantOfView:gestureView] == NO; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { - CGPoint const touchLocation = [touch locationInView:self.view]; - - if (!CGRectContainsPoint(self.view.bounds, touchLocation)) { - return NO; - } - UIView *currentView = touch.view; while (currentView != nil && currentView != self.view) { - if ([currentView isKindOfClass:[UIButton class]]) { - return NO; - } - + if ([currentView isKindOfClass:[UICollectionViewCell class]]) { return NO; }