我在使用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上运行就可以了!
ios - 在iPhone 6Plus中运行的ListView中的React Native:Strange Behavior backgroundColor-LMLPHP

但在iPhone6Plus中运行
ios - 在iPhone 6Plus中运行的ListView中的React Native:Strange Behavior backgroundColor-LMLPHP

最佳答案

您不应该在iPhone6Plus中将borderWidth设置为浮点数。

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

至于为什么,对不起,我不了解深入的原则。

我只知道iPhone6Plus中的PixelRatio.get() === 3,您应该将宽度设置为像
width * PixelRatio.get() = [an integer]

关于ios - 在iPhone 6Plus中运行的ListView中的React Native:Strange Behavior backgroundColor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37381894/

10-14 01:59