React Native:在iphone6Plus中运行的ListView中的奇怪行为backgroundColor

时间:2016-05-23 02:41:40

标签: ios listview react-native

我在使用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',
}});

在iPhone6上运行,没关系! enter image description here

但在iPhone6Plus中运行 enter image description here

1 个答案:

答案 0 :(得分:7)

您不应将borderWidth设置为iPhone6Plus的浮点数。

尝试将borderWidth: 0.5替换为borderWidth: 1

至于为什么,对不起,我不知道深刻的原则。

我只知道iPhone6Plus中的PixelRatio.get() === 3,你应该将宽度设置为像

这样的数字

width * PixelRatio.get() = [an integer]