我在使用React Native的ListView时遇到了一些麻烦,奇怪的行为设置了行的backgroundColor将在iPhone6和iPhone6plus之间执行不同的结果
我的代码在render()函数中
render: function(){
return (
<View>
<ListView
scrollEnabled={false}
contentContainerStyle={styles.list}
dataSource={dataSource.cloneWithRows(values)}
initialListSize={values.length}
pageSize={3}
scrollRenderAheadDistance={500}
renderRow={this._renderRow}
/>
</View>
);
},
样式:
var styles = StyleSheet.create({
list: {
flexDirection: 'row',
flexWrap: 'wrap',
},
row: {
backgroundColor:'white',
width:w.width/3,
height: w.width/3,
borderWidth: 0.5,
borderColor: '#f3f3f3',
alignItems: 'center',
}});
答案 0 :(得分:7)
您不应将borderWidth
设置为iPhone6Plus的浮点数。
尝试将borderWidth: 0.5
替换为borderWidth: 1
。
至于为什么,对不起,我不知道深刻的原则。
我只知道iPhone6Plus中的PixelRatio.get() === 3
,你应该将宽度设置为像
width * PixelRatio.get() = [an integer]