diff --git a/ios/RCCManagerModule.m b/ios/RCCManagerModule.m index b0d4c00a9a0..603b701df22 100755 --- a/ios/RCCManagerModule.m +++ b/ios/RCCManagerModule.m @@ -377,6 +377,14 @@ - (UIViewController *) getVisibleViewControllerFor:(UIViewController *)vc { return [self getVisibleViewControllerFor:vc.presentedViewController]; } + else if ([vc isKindOfClass:[TheSidebarController class]]) { + TheSidebarController *drawerController = (TheSidebarController*) vc; + return [self getVisibleViewControllerFor:drawerController.contentViewController]; + } + else if ([vc isKindOfClass:[MMDrawerController class]]) { + MMDrawerController *drawerController = (MMDrawerController*) vc; + return [self getVisibleViewControllerFor:drawerController.centerViewController]; + } else { return vc; diff --git a/ios/RCCNavigationController.m b/ios/RCCNavigationController.m index 36602d27f21..a7bc5387630 100755 --- a/ios/RCCNavigationController.m +++ b/ios/RCCNavigationController.m @@ -41,7 +41,7 @@ - (instancetype)initWithProps:(NSDictionary *)props children:(NSArray *)children RCCViewController *viewController = [[RCCViewController alloc] initWithComponent:component passProps:passProps navigatorStyle:navigatorStyle globalProps:globalProps bridge:bridge]; if (!viewController) return nil; - viewController.controllerId = props[@"id"]; + viewController.controllerId = passProps[@"screenInstanceID"]; NSArray *leftButtons = props[@"leftButtons"]; if (leftButtons)