From 2b69ec25897565ebd31f3430daa18e21ec957f9d Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Thu, 21 Apr 2016 08:56:46 -0700 Subject: [PATCH] Provide initial size to Modal Reviewed By: majak Differential Revision: D3202211 fb-gh-sync-id: 83a1d3d52df0dc68483639393ab64fd6f1281cb3 fbshipit-source-id: 83a1d3d52df0dc68483639393ab64fd6f1281cb3 --- Libraries/Modal/Modal.js | 22 +++++++++++----------- React/Views/RCTModalHostViewManager.m | 24 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/Libraries/Modal/Modal.js b/Libraries/Modal/Modal.js index 1623db0f0b3..d6b2fc2beb0 100644 --- a/Libraries/Modal/Modal.js +++ b/Libraries/Modal/Modal.js @@ -11,14 +11,14 @@ */ 'use strict'; -var Platform = require('Platform'); -var PropTypes = require('ReactPropTypes'); -var React = require('React'); -var StyleSheet = require('StyleSheet'); -var View = require('View'); +const Platform = require('Platform'); +const PropTypes = require('ReactPropTypes'); +const React = require('React'); +const StyleSheet = require('StyleSheet'); +const View = require('View'); -var requireNativeComponent = require('requireNativeComponent'); -var RCTModalHostView = requireNativeComponent('RCTModalHostView', null); +const requireNativeComponent = require('requireNativeComponent'); +const RCTModalHostView = requireNativeComponent('RCTModalHostView', null); /** * A Modal component covers the native view (e.g. UIViewController, Activity) @@ -39,9 +39,9 @@ class Modal extends React.Component { return null; } - if (this.props.transparent) { - var containerBackgroundColor = {backgroundColor: 'transparent'}; - } + const containerBackgroundColor = { + backgroundColor: this.props.transparent ? 'transparent' : 'white', + }; return ( )subview atIndex:(NSInteger)atIndex +{ + [super insertReactSubview:subview atIndex:atIndex]; + if ([subview isKindOfClass:[RCTShadowView class]]) { + CGRect frame = {.origin = CGPointZero, .size = RCTScreenSize()}; + [(RCTShadowView *)subview setFrame:frame]; + } +} + +@end @implementation RCTModalHostViewManager { @@ -30,6 +49,11 @@ RCT_EXPORT_MODULE() return view; } +- (RCTShadowView *)shadowView +{ + return [RCTModalHostShadowView new]; +} + - (void)invalidate { for (RCTModalHostView *hostView in _hostViews) {