@@ -144,17 +144,6 @@ - (void)initCommonProps
144144#endif // RCT_NEW_ARCH_ENABLED
145145}
146146
147- + (RNSViewInteractionManager *)viewInteractionManagerInstance
148- {
149- static RNSViewInteractionManager *manager = nil ;
150- static dispatch_once_t onceToken;
151- dispatch_once (&onceToken, ^{
152- manager = [[RNSViewInteractionManager alloc ] init ];
153- });
154-
155- return manager;
156- }
157-
158147- (BOOL )getFullScreenSwipeShadowEnabled
159148{
160149 if (@available (iOS 26 , *)) {
@@ -807,15 +796,15 @@ - (void)willMoveToWindow:(UIWindow *)newWindow
807796
808797 // Use RNSViewInteractionManager util to find a suitable subtree to disable interations on,
809798 // starting from reactSuperview, because on Paper, self is not attached yet.
810- [RNSScreenView.viewInteractionManagerInstance disableInteractionsForSubtreeWith: self .reactSuperview] ;
799+ self.reactSuperview . userInteractionEnabled = false ;
811800 }
812801}
813802
814803- (void )presentationControllerWillDismiss : (UIPresentationController *)presentationController
815804{
816805 if (@available (iOS 26 , *)) {
817806 // Disable interactions to disallow multiple modals dismissed at once; see willMoveToWindow
818- [RNSScreenView.viewInteractionManagerInstance disableInteractionsForSubtreeWith: self .reactSuperview] ;
807+ self.reactSuperview . userInteractionEnabled = false ;
819808 }
820809
821810#if !RCT_NEW_ARCH_ENABLED
@@ -846,7 +835,7 @@ - (void)presentationControllerDidAttemptToDismiss:(UIPresentationController *)pr
846835{
847836 if (@available (iOS 26 , *)) {
848837 // Reenable interactions; see presentationControllerWillDismiss
849- [RNSScreenView.viewInteractionManagerInstance enableInteractionsForLastSubtree ] ;
838+ self. reactSuperview . userInteractionEnabled = true ;
850839 }
851840
852841 // NOTE(kkafar): We should consider depracating the use of gesture cancel here & align
@@ -862,7 +851,7 @@ - (void)presentationControllerDidDismiss:(UIPresentationController *)presentatio
862851 if (@available (iOS 26 , *)) {
863852 // Reenable interactions; see presentationControllerWillDismiss
864853 // Dismissed screen doesn't hold a reference to window, but presentingViewController.view does
865- [RNSScreenView.viewInteractionManagerInstance enableInteractionsForLastSubtree ] ;
854+ self. reactSuperview . userInteractionEnabled = true ;
866855 }
867856
868857 if ([_reactSuperview respondsToSelector: @selector (presentationControllerDidDismiss: )]) {
@@ -1666,7 +1655,7 @@ - (void)viewDidAppear:(BOOL)animated
16661655{
16671656 if (@available (iOS 26 , *)) {
16681657 // Reenable interactions, see willMoveToWindow
1669- [RNSScreenView.viewInteractionManagerInstance enableInteractionsForLastSubtree ] ;
1658+ self. view . reactSuperview . userInteractionEnabled = true ;
16701659 }
16711660 [super viewDidAppear: animated];
16721661 if (!_isSwiping || _shouldNotify) {
@@ -1710,7 +1699,7 @@ - (void)viewDidDisappear:(BOOL)animated
17101699#endif
17111700 if (@available (iOS 26 , *)) {
17121701 // Reenable interactions, see willMoveToWindow
1713- [RNSScreenView.viewInteractionManagerInstance enableInteractionsForLastSubtree ] ;
1702+ self. view . reactSuperview . userInteractionEnabled = true ;
17141703 }
17151704}
17161705
0 commit comments