RCTModalHostView.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. */
  7. #import <UIKit/UIKit.h>
  8. #import <React/RCTInvalidating.h>
  9. #import <React/RCTModalHostViewManager.h>
  10. #import <React/RCTView.h>
  11. @class RCTBridge;
  12. @class RCTModalHostViewController;
  13. @class RCTTVRemoteHandler;
  14. @protocol RCTModalHostViewInteractor;
  15. @interface RCTModalHostView : UIView <RCTInvalidating>
  16. @property (nonatomic, copy) NSString *animationType;
  17. @property (nonatomic, assign) UIModalPresentationStyle presentationStyle;
  18. @property (nonatomic, assign, getter=isTransparent) BOOL transparent;
  19. @property (nonatomic, copy) RCTDirectEventBlock onShow;
  20. @property (nonatomic, copy) NSNumber *identifier;
  21. @property (nonatomic, weak) id<RCTModalHostViewInteractor> delegate;
  22. @property (nonatomic, copy) NSArray<NSString *> *supportedOrientations;
  23. @property (nonatomic, copy) RCTDirectEventBlock onOrientationChange;
  24. #if TARGET_OS_TV
  25. @property (nonatomic, copy) RCTDirectEventBlock onRequestClose;
  26. @property (nonatomic, strong) RCTTVRemoteHandler *tvRemoteHandler;
  27. #endif
  28. - (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER;
  29. @end
  30. @protocol RCTModalHostViewInteractor <NSObject>
  31. - (void)presentModalHostView:(RCTModalHostView *)modalHostView
  32. withViewController:(RCTModalHostViewController *)viewController
  33. animated:(BOOL)animated;
  34. - (void)dismissModalHostView:(RCTModalHostView *)modalHostView
  35. withViewController:(RCTModalHostViewController *)viewController
  36. animated:(BOOL)animated;
  37. @end