我正在使用反应本机,我有麻烦保持垂直中心的元素,只要我引入一个 ScrollView。为了演示,我使用 React Natural Playground 创建了3个应用程序。所有的例子有2页,他们可以通过点击蓝色按钮切换。
例子一:
第一个示例显示在第2页上垂直居中的块。之所以会发生这种情况,是因为容器应用了以下样式:
flex: 1,
flexDirection: 'column',
justifyContent: 'center',
Https://rnplay.org/apps/lb5wsq
但是,一旦切换到第2页,就会出现一个问题,因为页面的整个内容不适合,所以我们需要一个 ScrollView
。
例子2
在本例中,我将所有内容都包装在 ScrollView 中。这允许第2页滚动,但现在我失去了第1页的垂直中心。
Https://rnplay.org/apps/dcgoga
例子3
为了尝试回到第1页的垂直中心,我将 flex: 1
应用到 ScrollView 的 contentContainerStyle
。这修复了第1页的垂直中心,但是我不再能够一直向下滚动到第2页的底部。
Https://rnplay.org/apps/lsgbog
我怎样才能修正这个问题,使我得到垂直居中的元素在第1页,但仍然得到 ScrollView 滚动所有的方式到底部的第2页?