react-native-navigation的迁移库

RNNExternalViewController.m 1.1KB

123456789101112131415161718192021222324252627282930313233
  1. #import "RNNExternalViewController.h"
  2. @implementation RNNExternalViewController {
  3. UIViewController* _boundViewController;
  4. }
  5. - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo eventEmitter:(RNNEventEmitter *)eventEmitter presenter:(RNNComponentPresenter *)presenter options:(RNNNavigationOptions *)options defaultOptions:(RNNNavigationOptions *)defaultOptions viewController:(UIViewController *)viewController {
  6. self = [super initWithLayoutInfo:layoutInfo rootViewCreator:nil eventEmitter:eventEmitter presenter:presenter options:options defaultOptions:defaultOptions];
  7. [self bindViewController:viewController];
  8. return self;
  9. }
  10. - (void)bindViewController:(UIViewController *)viewController {
  11. _boundViewController = viewController;
  12. [self addChildViewController:viewController];
  13. [self.view addSubview:viewController.view];
  14. [viewController didMoveToParentViewController:self];
  15. }
  16. - (UINavigationItem *)navigationItem {
  17. return _boundViewController.navigationItem;
  18. }
  19. - (void)loadView {
  20. self.view = [UIView new];
  21. }
  22. - (void)render {
  23. [self readyForPresentation];
  24. }
  25. @end