问题描述
我正在尝试在React Native中实现listview。当我刚刚调用组件 Accounts
时,一切都很好但是因为我将它放入NavigatorIOS,Listview在第一个项目之前留下了一些空格:参见当我滚动。
I'm trying to implement a listview in React Native. Everything was fine when I was just calling the component Accounts
but since I put it into a NavigatorIOS the Listview is leaving some space before the first item : see here and when I scroll here.
这是我的代码:
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,
},
});
accounts.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}></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'
},
})
有没有人知道发生了什么?谢谢
Does anyone has any idea of what's going on ? Thanks
推荐答案
好的,我找到了答案,我在这里发布给遇到同样问题的人。
Ok so, I found the answer, I post it here for anyone who run into the same issue.
Github上发布了一个问题此处。
必须添加 ListView
参数 automaticAdjustContentInsets = {false}
。
解决了问题。
An issue has been posted on Github here .It is necessary to add to the ListView
the parameter automaticallyAdjustContentInsets={false}
.Problem Solved.
这篇关于React Native Listview留空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!