我刚刚开始使用React Native,我遇到了一个我不知道为什么会发生的问题。出于某种原因,我无法滚动到<ScrollView>
的底部。
这是我的代码:https://repl.it/Iqcx/0
谢谢!
答案 0 :(得分:6)
问题:您的导航栏正在推动您的ScrollView。
解决方案:让包装器填满整个屏幕。第8行的这一变化具有神奇的作用:<View style={StyleSheet.absoluteFill}>
我还最低限度地更改了代码,使其对没有图像的人有用,并且更好地了解发生了什么我以不同的方式命名值。这是工作版本:https://repl.it/Iqcx/2
答案 1 :(得分:1)
flex:1
到外部父对象
<View> //Parent
<Header/>
<ScrollView/>
</View>
如果ScrollView
截止,请分配父级<View>
flex:1
<View style={{flex:1}}> //Parent
<Header/>
<ScrollView/>
</View>
答案 2 :(得分:1)
将flexGrow:1
添加到<ScrollView>
组件contentContainerStyle
道具对我来说很有效(将flex:1
添加到外部<View>
或<ScrollView>
不为我工作)。
<View>
<ScrollView contentContainerStyle={{flexGrow:1}}>
(...content here...)
</ScrollView>
</View>
答案 3 :(得分:0)
在滚动视图的样式中添加marginBottom为我解决了此问题。我们需要提高值 marginBottom ,直到我们滚动查看全部内容为止。
<ScrollView style={{ marginBottom: 60}}>
//scrollview content
</ScrollView>
答案 4 :(得分:0)
对于我来说,问题不是flex: 1
或flexGrow: 1
,而是在padding
样式上使用了 ScrollView
。
所以不要这样做:
<ScrollView style={{padding: 40}}>
{/* MY CONTENT HERE */}
</ScrollView>
我这样做了:
<ScrollView>
<View style={{padding: 40}}>
{/* MY CONTENT HERE */}
</View>
</ScrollView>
问题已解决。
因此,如果您想在ScrollView
中添加填充,请在其内部创建一个View
并对其应用填充。
答案 5 :(得分:0)
在我的var test = JSON.parse(response);
for(var x in test['entries']){
$('#status').html("<br><h4>processing</h4>");
$.ajax({
url: 'index.php?action=sync&net='+test['entries'][x]['name'],
success: function (response) {
count++;
$('#test').append('<b>'+count+'.</b> '+response+'<br>');
if(count==test['size']){
$('#status').removeClass('loading');
$('#status').removeClass('alert alert-warning');
$('#status').addClass('alert alert-success');
$('#status').html('<h5>Sucess</h5>'+teste['size']+' entries synced');
}
}
})
}
元素中,我有一个值View
取消此操作对我来说很有效。
答案 6 :(得分:0)
在我的情况下,问题是我的主要内容设置为position: absolute
,所以没有计算出正确的高度。