我一直无法让我的 React Native 应用布局在实体 iPhone 11 Pro 上看起来与在 iPhone 11 Pro 的 iOS 模拟器上看起来一样。具体来说,问题在于文本呈现。看起来两者的字体大小根本不一样。
Xcode和模拟器都是11.7版本,手机和模拟器都是iOS 13.7。 React Native 的版本是 0.61.5。
由于我无法共享整个屏幕,所以我已裁剪到相关区域。我在其中留下了部分相邻图形以指示空间的尺寸。
iPhone 11 Pro模拟器渲染图:
iPhone 11 Pro 设备渲染:
RN View :
<View style={styles.container}>
<Image source={require('./assets/tophalf.jpg')}
style={{width: '100%', height: '50%'}}
imageStyle={{resizeMode: 'contain'}} />
<View style={styles.container2}>
<View style={{flex:1}} />
<View style={{flex:8}}>
<View style={{flex:4, alignSelf:'center', width: '85%'}}>
<Text style={styles.aboutfont}>{loremtext}</Text>
</View>
<View style={{flex:2}}>
<Image source={require('./assets/blob.png')}
style={{flex:1, width:'50%', height:'50%', alignSelf: 'flex-end'}}
resizeMode="contain" />
</View>
<View style={{flex:1}} />
</View>
</View>
<Image source={require('./assets/middlebox.png')}
style={{position:'absolute', alignItems: 'center',
width:100, height:100,
borderWidth:1, borderColor:'#eeeeee', borderRadius:5,
aspectRatio:1}}
/>
</View>
以及样式元素:
container: {
flex: 1,
backgroundColor: '#ffffff',
alignItems: 'center',
justifyContent: 'center',
},
container2: {
flex: 1,
backgroundColor: 'white',
justifyContent: 'space-around',
},
aboutfont: {
fontSize: 14,
fontFamily: Platform.OS === 'ios' ? 'Futura' : 'Roboto',
color: 'black',
textAlign: 'center',
},
如有任何帮助,我们将不胜感激。我不知道这是 React Native 的具体问题还是 Xcode/Simulator 的问题。
最佳答案
我的第一直觉是,您的物理设备和模拟器上的文本大小和/或显示缩放设置可能不同。 React Native 的文本组件足够智能,可以根据用户的设置进行缩放,无论是在 iOS 还是 Android 上。
尝试检查“设置”>“显示和亮度”>“文字大小”中的值 在“设置”>“显示和亮度”>“显示缩放”>“查看”中
希望能解决您的问题!
关于ios - Xcode/Simulator 与物理设备上的 React Native 字体大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64126123/