mirror of
https://github.com/zhigang1992/react-native-web.git
synced 2026-04-01 09:27:14 +08:00
[fix] SafeAreaView inset padding for Safari
See https://webkit.org/blog/7929/designing-websites-for-iphone-x/ Fix #859
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user