react-native-navigation的迁移库

RNNLayoutProtocol.h 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #import "RNNLayoutInfo.h"
  2. #import "RNNBasePresenter.h"
  3. #import "RNNComponentViewCreator.h"
  4. #import "RNNEventEmitter.h"
  5. typedef void (^RNNReactViewReadyCompletionBlock)(void);
  6. @protocol RNNLayoutProtocol <NSObject, UINavigationControllerDelegate, UIViewControllerTransitioningDelegate, UISplitViewControllerDelegate>
  7. @required
  8. - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
  9. creator:(id<RNNComponentViewCreator>)creator
  10. options:(RNNNavigationOptions *)options
  11. defaultOptions:(RNNNavigationOptions *)defaultOptions
  12. presenter:(RNNBasePresenter *)presenter
  13. eventEmitter:(RNNEventEmitter *)eventEmitter
  14. childViewControllers:(NSArray *)childViewControllers;
  15. - (void)render;
  16. - (UIViewController<RNNLayoutProtocol> *)getCurrentChild;
  17. - (CGFloat)getTopBarHeight;
  18. - (CGFloat)getBottomTabsHeight;
  19. - (UIViewController *)topMostViewController;
  20. - (void)mergeOptions:(RNNNavigationOptions *)options;
  21. - (void)mergeChildOptions:(RNNNavigationOptions *)options child:(UIViewController *)child;
  22. - (RNNNavigationOptions *)resolveOptions;
  23. - (void)setDefaultOptions:(RNNNavigationOptions *)defaultOptions;
  24. - (void)overrideOptions:(RNNNavigationOptions *)options;
  25. - (void)onChildWillAppear;
  26. - (void)readyForPresentation;
  27. @end