react icon form flatlist example card javascript ios listview react-native

javascript - icon - react native elements



React Native Listview dejando espacio (3)

Estoy tratando de implementar una vista de lista en React Native. Todo estaba bien cuando estaba llamando al componente Accounts pero como lo puse en un NavigatorIOS, Listview deja algo de espacio antes del primer elemento: mira here y cuando me desplazo here .

Aquí está mi código:

index.ios.js

var RemoteX1 = React.createClass({ render: function() { return ( <NavigatorIOS style={styles.container} initialRoute={{ title: ''Accounts'', component: Accounts, }}/> ); } }); var styles = StyleSheet.create({ container: { flex: 1, }, });

cuentas.js

var people = [ { title: "Papa", favouriteChannels: [] }, { title: "Maman", favouriteChannels: [] }, { title: "Kids", favouriteChannels: [] }, { title: "Invité", favouriteChannels: [] } ]; var Accounts = React.createClass({ getInitialState: function() { var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); return { dataSource: ds.cloneWithRows(people), } }, renderRow: function(person) { return ( <TouchableHighlight onPress={this.onPressRow}> <Text style={styles.account}>{person.title}</Text> </TouchableHighlight> ); }, render: function() { return ( <View style={styles.container}> <View style={styles.panel}> <Text style={styles.icon}>&#xF0C6;</Text> <Text style={styles.welcome}>BIENVENUE</Text> <ListView dataSource={this.state.dataSource} renderRow={this.renderRow} style={styles.listView} /> </View> </View> ); } }); var styles = StyleSheet.create({ container: { flex: 1, alignItems: ''center'', justifyContent: ''center'' }, panel: { backgroundColor: ''#67F072'', alignItems: ''center'', justifyContent: ''center'', paddingLeft: 50, paddingRight: 50, }, icon: { color: ''#67B7F0'', fontFamily: ''CanalDemiRomainG7'', fontSize: 40 }, welcome: { color: ''#67B7F0'', fontFamily: ''CanalDemiRomainG7'' }, account: { color: ''#000000'', height: 30, alignSelf: ''center'', fontFamily: ''CanalDemiRomainG7'' }, })

¿Alguien tiene alguna idea de lo que está pasando? Gracias


Esto solo ocurre cuando tienes ScrollView o ListView con TabBarIOS. Puede eliminar el espacio adicional en la parte superior si coloca automaticallyAdjustContentInsets={false}

Sin embargo, ScrollView no se mostrará por completo, ya que la parte inferior se ocultará debajo de TabBarIOS. Para solucionar esto, agregue contentInset={{bottom:49}} ajuste la altura de acuerdo a sus necesidades.

aquí está el código:

<ListView contentInset={{bottom:49}} automaticallyAdjustContentInsets={false} >


Ok, entonces encontré la respuesta, la publico aquí para cualquier persona que se encuentre con el mismo problema.

Se ha publicado un problema en Github here . Es necesario agregar al ListView el parámetro automaticallyAdjustContentInsets={false} . Problema resuelto.


Si está tratando de lograr esto en Android ... <ListView contentContainerStyle={styles.contentContainer}> </ListView> es iOS específico, para administrar esto en Android necesita establecer la propiedad dentro de <ListView contentContainerStyle={styles.contentContainer}> </ListView>

Luego en tus stylesheets.create

var styles = StyleSheet.create({ contentContainer: { paddingBottom: 100 }

* Me doy cuenta de que op está pidiendo una solución de iOS, simplemente agregando la solución de Android para la gente que pasa y si op decide que está harto de iOS