一般问题在这里。我正在使用rn-device-info库。我想知道iPhone X console.log("Device Model", DeviceInfo.getModel());
的回报是什么?它是" iPhone X"或者" iPhone 10"?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
从' react-native添加NativeModules;图书馆
然后你可以检查设备是否是iPhonex NativeModules.DeviceInfo.isIPhoneX_deprecated 如果为true,则设备为iphoneX,反之亦然。
这已被弃用,但仍可在RN 55.4中使用。它可能不是未来版本的解决方案。
答案 2 :(得分:1)
这可能是个要回答的老问题,但这是寻找它的人的答案,而无需安装任何外部库即可创建文件名 isIphoneX.js
插入此代码
import { Dimensions, Platform } from 'react-native';
export function isIphoneX() {
const dim = Dimensions.get('window');
return (
// This has to be iOS
Platform.OS === 'ios' &&
// Check either, iPhone X or XR
(isIPhoneXSize(dim) || isIPhoneXrSize(dim))
);
}
export function isIPhoneXSize(dim) {
return dim.height == 812 || dim.width == 812;
}
export function isIPhoneXrSize(dim) {
return dim.height == 896 || dim.width == 896;
}
上面的代码将检查它是否为iPhone X,Xr 您可以根据需要更新代码,只需创建新函数并将其导出并在代码内使用它即可。