在iphone 6或6s上查看我的本机应用程序时,我的一些组件会以不同的大小呈现给屏幕,或者在这些状态之间不可见或闪烁。请参阅以下borderWidth: StyleSheet.hairlineWidth
图片(作为我设备的屏幕截图)
确保我的组件的最佳方法是什么?样式在我的iOS应用程序中一致呈现?
更新
此问题不仅适用于borderWidth
...我能够在设备上使用View
组件backgroundColor
和height:1
进行重现。
请参阅此处的基本示例:https://rnplay.org/apps/xUYNIQ(模拟器中显示的问题与我在iphone6上的应用程序中遇到的问题相同)
答案 0 :(得分:1)
这可能是精确损失渲染问题。
我遇到了像这样的问题。我写了一个函数来为不同的设备转换样式,发生了一些奇怪的事情:bottomBorder变得格外大胆。
PixelRatio
获取设备像素比率信息,Dimensions
获取设备宽度和高度,但Dimensions.get('window').width * PixelRatio.get()
不等于Apple设备数据。
在我使用PixelRatio
之前,我将其更改为parseInt(PixelRatio)
。它不会出现任何问题,但在iPhone 6和6plus组件上会更小。