如果我尝试滚动到ScrollView的底部,它会弹回到默认位置,并且不会让我查看其全部内容。
我的(截断的)设置非常简单:
<View>
<View>
<ABunchOfStuff />
</View>
<View style={styles.sectionNode} >
<ABunchOfStuff />
</View>
<ScrollView> <------ My broken ScrollView :(
<View>
<ABunchOfStuff />
</View>
</ScrollView>
</View>
这是我实际代码的简化版本。但我得出的结论是,某种“无限高度”#34;继续as in this reference。
我确实尝试确保所有家长和所有家长flex: 1
一直<View>
<ScrollView>
我的loading.jsp
及其父母。但这似乎并没有成功。
关于如何调试这个的任何想法?我知道ReactNative的网站建议这样做,并说在检查员中很容易做到(但没有说明怎么做)。如果我认为那里有一个无限的高度&#34;问题,如何去寻找这个流氓无界的节点?还是别的什么?
答案 0 :(得分:12)
尝试完全从ScrollView
中取出flex,然后将flex: 1
放在父级上。这对我有用。
答案 1 :(得分:3)
对我来说,问题是在ScrollView上设置paddingVertical
,paddingTop
或paddingBottom
。只是不要这样做。它会影响ScrollView内容的高度,而ScrollView不会适当调整它。
答案 2 :(得分:2)
有界高度的东西意味着必须绑定ScrollView
本身。
如果ScrollView具有无限高度,它将与您的内容一起拉伸,并且不会滚动。
您只需将height
添加到ScrollView
并查看其工作原理,从那里您可以使用绝对高度或使用flex以限制ScrollView
高度的方式你想要什么。
答案 3 :(得分:2)
您必须确保ScrollView
具有固定的高度,方法是为父母或自己设置。
我使用flex设置其高度而不是直接指定它,因此它适用于所有屏幕尺寸。所以对于你的代码类似
<View style={{flex: 1}}>
<View>
<ABunchOfStuff />
</View>
<View style={styles.sectionNode} >
<ABunchOfStuff />
</View>
<ScrollView style={{flex:0.8}}>
<View>
<ABunchOfStuff />
</View>
</ScrollView>
</View>
有关原生docs
的更多信息答案 4 :(得分:0)
<ScrollView style={{flex: 1, marginBottom: 30}} />
items
</ScrollView>
答案 5 :(得分:0)
这对我有用
<ScrollView>
<View style={{height:2000}}>
</View>
<ScrollView>
重要的是为ScrollView内的元素设置一个定义的高度
答案 6 :(得分:0)
父视图必须具有style = {{flex:1}},然后滚动视图可以具有style = {{{flex:1}}
答案 7 :(得分:0)
这对我有用:
<View style={{flex: 1}}>
<ScrollView>
<View style={{paddingTop: 16, paddingBottom: 16}}>
<SearchBar />
<ItemsContainer />
</View>
</ScrollView>
</View>
答案 8 :(得分:0)
对我有用的是将 ScrollView 包装在 View 中。然后给 View 一个高度并在 ScrollView 上设置 flex : 1。
像这样:
<View style={{ height: "60%" }}>
<ScrollView style={{ flex: 1 }}>
<List/>
</ScrollView>
</View>
答案 9 :(得分:-1)
添加<Text></Text>
在滚动视图的底部。它会给一些空间