[fix] SafeAreaView inset padding for Safari

See https://webkit.org/blog/7929/designing-websites-for-iphone-x/

Fix #859
This commit is contained in:
Nicolas Gallagher
2018-04-02 14:32:15 -07:00
parent ce89b7e3ec
commit 4c59343fd3

View File

@@ -8,5 +8,31 @@
* @flow
*/
import React from 'react';
import StyleSheet from '../StyleSheet';
import View from '../View';
export default View;
import ViewPropTypes, { type ViewProps } from '../ViewPropTypes';
class SafeAreaView extends React.Component<ViewProps> {
static displayName = 'SafeAreaView';
static propTypes = {
...ViewPropTypes
};
render() {
const { style, ...rest } = this.props;
return <View {...rest} style={StyleSheet.compose(styles.root, style)} />;
}
}
const styles = StyleSheet.create({
root: {
paddingTop: 'env(safe-area-inset-top)',
paddingRight: 'env(safe-area-inset-right)',
paddingBottom: 'env(safe-area-inset-bottom)',
paddingLeft: 'env(safe-area-inset-left)'
}
});
export default SafeAreaView;