Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
react-native-iphone-screen-helper
Advanced tools
A library to help you design your react-native app for the iPhone
A library to help you design your react-native app for notched and dynamic island iPhones.
I forked this project to continue working on it. This project is a fork of https://www.npmjs.com/package/react-native-iphone-x-helper . The original repository is not maintained anymore.
The project will be continued in this repository. react-native-iphone-screen-helper is fully compatible. If you want to support the project feel free to contact me or create a pull request with your feature.
yarn add react-native-iphone-screen-helper
or
npm i react-native-iphone-screen-helper --save
This method is for creating stylesheets with the iPhone X and later models, including those with dynamic islands, in mind.
iphoneXStyle - the style to apply if you're on iPhone X or newer models with a notch or dynamic island.
regularStyle (optional) - the style to apply if you're not on iPhone X
// in style.js
import { StyleSheet } from 'react-native';
import { ifIphoneX } from 'react-native-iphone-screen-helper'
export default StyleSheet.create({
header:{
position: 'absolute',
top: 0,
left: 0,
right: 0,
padding:10,
height: 60,
backgroundColor: 'transparent',
...ifIphoneX({
paddingTop: 50
}, {
paddingTop: 20
})
},
});
returns - true
if you're running on an iPhone X or a newer model with a notch or dynamic island.
import { isIphoneX } from 'react-native-iphone-screen-helper'
// ...
if (isIphoneX()) {
// do this...
} else {
// do that...
}
returns - the height of the status bar:
62
for safe iPhone 16 Pro Max59
for safe iPhone 14 Pro, 14 Pro Max, 15, 15 Plus, 15 Pro, 15 Pro Max, 16, 16 Plus, 16 Pro50
for safe iPhone 12 Mini, 13 Mini47
for safe iPhone 12, 12 Pro, 12 Pro Max, 13, 13 Pro, 13 Pro Max, 14, 14 Plus44
for safe iPhone X, Xs, Xs Max, 11 Pro, 11 Pro Max48
for safe iPhone Xr, 1120
for other devicesStatusBar.currentHeight
for Android.// in style.js
import { StyleSheet } from 'react-native';
import { getStatusBarHeight } from 'react-native-iphone-screen-helper'
export default StyleSheet.create({
header:{
position: 'absolute',
top: 0,
left: 0,
right: 0,
padding:10,
height: 60,
backgroundColor: 'transparent',
paddingTop: getStatusBarHeight()
},
});
returns - the height of the bottom to fit the safe area: 34
for iPhone X and newer models with a notch or dynamic island, and 0
for other devices.
// in style.js
import { StyleSheet } from 'react-native';
import { getBottomSpace } from 'react-native-iphone-screen-helper'
export default StyleSheet.create({
totalview: {
flex: 1,
backgroundColor: 'transparent',
marginBottom: getBottomSpace()
},
});
DeviceID | DeviceName | ScreenResolution | StatusbarHeight |
---|---|---|---|
iPhone10,3 | iPhone X Global | 375 x 812 (3x ~458ppi) | 44 |
iPhone10,6 | iPhone X GSM | 375 x 812 (3x ~458ppi) | 44 |
iPhone11,2 | iPhone Xs | 375 x 812 (3x ~458ppi) | 44 |
iPhone11,4 | iPhone Xs Max | 414 x 896 (3x ~458ppi) | 44 |
iPhone11,6 | iPhone Xs Max Global | 414 x 896 (3x ~458ppi) | 44 |
iPhone11,8 | iPhone Xr | 414 x 896 (2x ~326ppi) | 48 |
iPhone12,1 | iPhone 11 | 414 x 896 (2x ~326ppi) | 48 |
iPhone12,3 | iPhone 11 Pro | 375 x 812 (3x ~458ppi) | 44 |
iPhone12,5 | iPhone 11 Pro Max | 414 x 896 (3x ~458ppi) | 44 |
iPhone13,1 | iPhone 12 mini | 360 x 780 (3x ~476ppi) | 50 |
iPhone13,2 | iPhone 12 | 390 x 844 (3x ~460ppi) | 47 |
iPhone13,3 | iPhone 12 Pro | 390 x 844 (3x ~460ppi) | 47 |
iPhone13,4 | iPhone 12 Pro Max | 428 x 926 (3x ~458ppi) | 47 |
iPhone14,4 | iPhone 13 mini | 375 x 812 (3x ~476ppi) | 50 |
iPhone14,5 | iPhone 13 | 390 x 844 (3x ~460ppi) | 47 |
iPhone14,2 | iPhone 13 Pro | 390 x 844 (3x ~460ppi) | 47 |
iPhone14,3 | iPhone 13 Pro Max | 428 x 926 (3x ~458ppi) | 47 |
iPhone14,7 | iPhone 14 | 390 x 844 (3x ~460ppi) | 47 |
iPhone14,8 | iPhone 14 Plus | 428 x 926 (3x ~458ppi) | 47 |
iPhone15,2 | iPhone 14 Pro | 393 x 852 (3x ~460ppi) | 59 |
iPhone15,3 | iPhone 14 Pro Max | 430 x 932 (3x ~458ppi) | 59 |
iPhone15,4 | iPhone 15 | 393 x 852 (3x ~460ppi) | 59 |
iPhone15,5 | iPhone 15 Plus | 430 x 932 (3x ~460ppi) | 59 |
iPhone16,1 | iPhone 15 Pro | 393 x 852 (3x ~460ppi) | 59 |
iPhone16,2 | iPhone 15 Pro Max | 430 x 932 (3x ~460ppi) | 59 |
iPhone16,4 | iPhone 16 | 393 x 852 (3x ~460ppi) | 59 |
iPhone16,5 | iPhone 16 Plus | 430 x 932 (3x ~460ppi) | 59 |
iPhone17,1 | iPhone 16 Pro | 402 x 874 (3x ~460ppi) | 59 |
iPhone17,2 | iPhone 16 Pro Max | 440 x 956 (3x ~460ppi) | 62 |
MIT
FAQs
A library to help you design your react-native app for the iPhone
The npm package react-native-iphone-screen-helper receives a total of 16,216 weekly downloads. As such, react-native-iphone-screen-helper popularity was classified as popular.
We found that react-native-iphone-screen-helper demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.