From b3f4d5478615fdfb302bb5cdca088ee461eb7bb1 Mon Sep 17 00:00:00 2001 From: Mohamed Alsadek Date: Wed, 11 Sep 2024 04:20:50 -0700 Subject: [PATCH] Back out "Enable Multiple Sheet Presentation in React Native" (#46433) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46433 Original commit changeset: 53667cf1a75e Original Phabricator Diff: D62143463 Changelog: [Internal] revert previous modal presentation improvement Reviewed By: sammy-SC Differential Revision: D62474039 fbshipit-source-id: b510c0460c06ab9d595d414d4ea32acd224871bc --- .../Modal/RCTModalHostViewComponentView.mm | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm index a040149dfa6..350439a7810 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm @@ -134,9 +134,7 @@ static ModalHostViewEventEmitter::OnOrientationChange onOrientationChangeStruct( completion:(void (^)(void))completion { UIViewController *controller = [self reactViewController]; - [[self _topMostViewControllerFrom:controller] presentViewController:modalViewController - animated:animated - completion:completion]; + [controller presentViewController:modalViewController animated:animated completion:completion]; } - (void)dismissViewController:(UIViewController *)modalViewController @@ -276,26 +274,6 @@ static ModalHostViewEventEmitter::OnOrientationChange onOrientationChangeStruct( [childComponentView removeFromSuperview]; } -#pragma mark - Private - -- (UIViewController *)_topMostViewControllerFrom:(UIViewController *)rootViewController -{ - UIViewController *topController = rootViewController; - while (topController.presentedViewController) { - topController = topController.presentedViewController; - } - if ([topController isKindOfClass:[UINavigationController class]]) { - UINavigationController *navigationController = (UINavigationController *)topController; - topController = navigationController.visibleViewController; - return [self _topMostViewControllerFrom:topController]; - } else if ([topController isKindOfClass:[UITabBarController class]]) { - UITabBarController *tabBarController = (UITabBarController *)topController; - topController = tabBarController.selectedViewController; - return [self _topMostViewControllerFrom:topController]; - } - return topController; -} - @end #ifdef __cplusplus