react-native-navigation的迁移库

RNNRootViewController.h 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #import "RNNLayoutNode.h"
  2. #import "RNNRootViewCreator.h"
  3. #import "RNNEventEmitter.h"
  4. #import "RNNNavigationOptions.h"
  5. #import "RNNAnimator.h"
  6. #import "RNNUIBarButtonItem.h"
  7. #import "RNNLayoutInfo.h"
  8. #import "RNNLeafProtocol.h"
  9. #import "RNNLayoutProtocol.h"
  10. #import "RNNViewControllerPresenter.h"
  11. typedef void (^PreviewCallback)(UIViewController *vc);
  12. @interface RNNRootViewController : UIViewController <RNNLeafProtocol, RNNLayoutProtocol, UIViewControllerPreviewingDelegate, UISearchResultsUpdating, UISearchBarDelegate, UINavigationControllerDelegate, UISplitViewControllerDelegate>
  13. @property (nonatomic, strong) RNNEventEmitter *eventEmitter;
  14. @property (nonatomic, retain) RNNLayoutInfo* layoutInfo;
  15. @property (nonatomic, strong) RNNViewControllerPresenter* presenter;
  16. @property (nonatomic, strong) RNNNavigationOptions* options;
  17. @property (nonatomic) id<RNNRootViewCreator> creator;
  18. @property (nonatomic, strong) RNNAnimator* animator;
  19. @property (nonatomic, strong) UIViewController* previewController;
  20. @property (nonatomic, copy) PreviewCallback previewCallback;
  21. - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
  22. rootViewCreator:(id<RNNRootViewCreator>)creator
  23. eventEmitter:(RNNEventEmitter*)eventEmitter
  24. presenter:(RNNViewControllerPresenter *)presenter
  25. options:(RNNNavigationOptions *)options;
  26. - (instancetype)initExternalComponentWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
  27. eventEmitter:(RNNEventEmitter*)eventEmitter
  28. presenter:(RNNViewControllerPresenter *)presenter
  29. options:(RNNNavigationOptions *)options;
  30. - (BOOL)isExternalViewController;
  31. -(void)onButtonPress:(RNNUIBarButtonItem *)barButtonItem;
  32. @end