From 510be3dd0f926451cdba34709c892276b1b8a848 Mon Sep 17 00:00:00 2001 From: Rumen Rusanov Date: Fri, 18 Aug 2017 23:24:44 +0300 Subject: [PATCH] add flowCoordinatorForId functionality for tabs --- lib/ios/native-navigation/TabViewManager.swift | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/ios/native-navigation/TabViewManager.swift b/lib/ios/native-navigation/TabViewManager.swift index fd338e6b..1be3462f 100644 --- a/lib/ios/native-navigation/TabViewManager.swift +++ b/lib/ios/native-navigation/TabViewManager.swift @@ -47,11 +47,18 @@ final class TabView: UIView { return viewController } - // TODO(lmr): handle non-RN tabs + let coordinator = ReactNavigationCoordinator.sharedInstance + if let route = route { - let vc = ReactViewController(moduleName: route, props: props).prepareViewControllerForPresenting() - vc.tabBarItem = tabBarItem - viewController = vc + guard let flow = coordinator.delegate?.flowCoordinatorForId?(route) as? UIViewController else { + let vc = ReactViewController(moduleName: route, props: props).prepareViewControllerForPresenting() + vc.tabBarItem = tabBarItem + return vc + } + (flow as! ReactFlowCoordinator).start(props) + flow.tabBarItem = tabBarItem + + viewController = coordinator.navigation.makeNavigationController(rootViewController: flow) } return viewController