diff --git a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm index 75a1c1cf1d..671f80c1ce 100644 --- a/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm +++ b/packages/react-native-gesture-handler/apple/RNGestureHandlerManager.mm @@ -273,10 +273,14 @@ - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childVie RNGHUIView *touchHandlerView = childView; #if !TARGET_OS_OSX + Class fullWindowOverlayContainerClass = NSClassFromString(@"RNSFullWindowOverlayContainer"); + if ([[childView reactViewController] isKindOfClass:[RCTFabricModalHostViewController class]]) { touchHandlerView = [childView reactViewController].view; } else { - while (touchHandlerView != nil && ![touchHandlerView isKindOfClass:[RCTSurfaceView class]]) { + while ( + touchHandlerView != nil && ![touchHandlerView isKindOfClass:[RCTSurfaceView class]] && + (fullWindowOverlayContainerClass == nil || ![touchHandlerView isKindOfClass:fullWindowOverlayContainerClass])) { touchHandlerView = touchHandlerView.superview; } }