32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
diff --git a/apple/RNGestureHandler.mm b/apple/RNGestureHandler.mm
|
|
index c4f760c41a9965245edcfa5e7cb781f8d2c7b66a..bf7d1fb092e22cbcedf787e606876e533879f810 100644
|
|
--- a/apple/RNGestureHandler.mm
|
|
+++ b/apple/RNGestureHandler.mm
|
|
@@ -470,15 +470,19 @@ + (RNGestureHandler *)findGestureHandlerByRecognizer:(UIGestureRecognizer *)reco
|
|
|
|
// We may try to extract "DummyGestureHandler" in case when "otherGestureRecognizer" belongs to
|
|
// a native view being wrapped with "NativeViewGestureHandler"
|
|
- RNGHUIView *reactView = recognizer.view;
|
|
- while (reactView != nil && reactView.reactTag == nil) {
|
|
- reactView = reactView.superview;
|
|
- }
|
|
+ RNGHUIView *view = recognizer.view;
|
|
+ while (view != nil) {
|
|
+ for (UIGestureRecognizer *candidateRecognizer in view.gestureRecognizers) {
|
|
+ if ([candidateRecognizer isKindOfClass:[RNDummyGestureRecognizer class]]) {
|
|
+ return candidateRecognizer.gestureHandler;
|
|
+ }
|
|
+ }
|
|
|
|
- for (UIGestureRecognizer *recognizer in reactView.gestureRecognizers) {
|
|
- if ([recognizer isKindOfClass:[RNDummyGestureRecognizer class]]) {
|
|
- return recognizer.gestureHandler;
|
|
+ if ([view isKindOfClass:[RCTViewComponentView class]]) {
|
|
+ return nil;
|
|
}
|
|
+
|
|
+ view = view.superview;
|
|
}
|
|
|
|
return nil;
|