diff --git a/packages/react-native-gesture-handler/apple/RNGestureHandler.mm b/packages/react-native-gesture-handler/apple/RNGestureHandler.mm index f1ce6f1c9d..f151dde2ec 100644 --- a/packages/react-native-gesture-handler/apple/RNGestureHandler.mm +++ b/packages/react-native-gesture-handler/apple/RNGestureHandler.mm @@ -668,8 +668,15 @@ - (void)reset - (BOOL)containsPointInView { + CGRect bounds = _recognizer.view.bounds; CGPoint pt = [_recognizer locationInView:_recognizer.view]; - CGRect hitFrame = RNGHHitSlopInsetRect(_recognizer.view.bounds, _hitSlop); + + if (bounds.size.width == 0 and bounds.size.height == 0 and bounds.origin.x == 0 and bounds.origin.y == 0 and + _recognizer.view.subviews.count) { + bounds = _recognizer.view.subviews[0].bounds; + pt = [_recognizer locationInView:_recognizer.view.subviews[0]]; + } + CGRect hitFrame = RNGHHitSlopInsetRect(bounds, _hitSlop); return CGRectContainsPoint(hitFrame, pt); }