1234567891011121314151617181920212223242526272829303132333435363738394041 |
-
- #import "RNNControllerFactory.h"
-
- #import "RNN.h"
- #import "RCTRootView.h"
-
- @implementation RNNControllerFactory
-
- +(UIViewController *)createRootViewController:(NSDictionary *)layout
- {
- if ([layout[@"type"] isEqualToString:@"ContainerStack"]) {
- UINavigationController* stack = [[UINavigationController alloc] init];
-
- NSString* containerName = [layout[@"children"] objectAtIndex:0][@"data"][@"name"];
- NSString* containerId = [layout[@"children"] objectAtIndex:0][@"id"];
-
- [stack setViewControllers:@[[RNNControllerFactory create:containerName containerId:containerId]] animated:false];
-
- return stack;
- }
-
- // NSString* containerName = layout[@"container"][@"name"];
- // NSString* containerId = layout[@"container"][@"id"];
-
- // return [RNNControllerFactory create:containerName containerId:containerId];
- return nil;
- }
-
- +(UIViewController*)create:(NSString*)containerName containerId:(NSString*)containerId
- {
- RCTRootView *reactView = [[RCTRootView alloc] initWithBridge:RNN.instance.bridge
- moduleName:containerName
- initialProperties:@{@"containerId": containerId}];
-
- UIViewController* controller = [UIViewController new];
- controller.view = reactView;
- return controller;
- }
-
- @end
|