2016-05-23 11 views
2

ich einige Probleme treffen, während Mutter der Listview-Reaktion verwendet wird, das seltsame Verhalten gesetzt Backgroundcolor ist die Zeile anderes Ergebnis zwischen iPhone6 ​​und iPhone6plus Reagieren Nativ: Strange Behaviour background in Listview in iphone6Plus läuft

My-Code in render()

durchführen wird

Funktion
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> 
); 
}, 

Stile:

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', 
}}); 

in iPhone6 ​​läuft, es ist OK! enter image description here

aber in iPhone6Plus enter image description here

+0

In Ihre Stile setzen Sie 'w.width' verwenden, was ist 'W'? Die Bildschirmgrößen unterscheiden sich zwischen 6 und 6Plus. – rogchap

Antwort

7

laufen Sie borderWidth als Fließkommazahl mit iPhone6Plus gesetzt should't.

Versuchen Sie, borderWidth: 0.5 durch borderWidth: 1 zu ersetzen.

Warum, tut mir leid, ich kenne nicht das Prinzip der tiefen.

Ich weiß nur, PixelRatio.get() === 3 in iPhone6Plus, sollten Sie die Breite als eine Zahl wie

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

Verwandte Themen