diff --git a/React/Base/RCTTouchHandler.m b/React/Base/RCTTouchHandler.m index 5447a9a8a9f..66ee73d93c6 100644 --- a/React/Base/RCTTouchHandler.m +++ b/React/Base/RCTTouchHandler.m @@ -13,6 +13,7 @@ #import "RCTBridge.h" #import "RCTEventDispatcher.h" #import "RCTLog.h" +#import "RCTSurfaceView.h" #import "RCTTouchEvent.h" #import "RCTUIManager.h" #import "RCTUtils.h" @@ -246,7 +247,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithTarget:(id)target action:(SEL)action - (void)_cacheRootView { UIView *rootView = self.view; - while (rootView.superview && ![rootView isReactRootView]) { + while (rootView.superview && ![rootView isReactRootView] && ![rootView isKindOfClass:[RCTSurfaceView class]]) { rootView = rootView.superview; } _cachedRootView = rootView;