垂直滚动视图与垂直导航冲突

Vertical scrollview conflicting with vertical navigation

在我的 React 本机应用程序中,我使用 askonov 的 react-native-router-flux 来显示带有垂直 ScrollView 小部件的场景。我已将场景配置为从底部向上浮动,默认情况下,似乎从顶部向下拖动会关闭场景。

<Router> <Scene key="root" hideNavBar={true}> <Scene key="welcome" component={Welcome}/> <Scene key="demo" component={Demo} direction="vertical"/> </Scene> </Router>

ScrollView 包含的内容远远超过屏幕上可以显示的内容,因此用户需要上下拖动它。不幸的是,向下拖动到关闭场景的行为似乎与 ScrollView 冲突,因此用户在只想向上滚动时无意中关闭了场景。

具体来说 - 轻弹手势似乎被特别覆盖了。向上滑动不会像它应该的那样滑动 ScrollView 内容,而向下滑动会关闭场景。

这似乎是我升级到 React Native 0.32 后的新行为。当我处于 0.22 时,向上滑动手势仍然可以滑动 ScrollView 内容。

理想情况下,我只希望在 ScrollView 的内容已经完全滚动到顶部时关闭场景。我会满足于完全禁用轻弹关闭行为。

您可以尝试将 panHandlers={null} 添加到您的场景道具中。我相信这应该会禁用轻弹关闭功能。

此外,您可以可能 然后在您的 ScrollView 中使用 RefreshControl 在用户从已经位于顶部的列表中下拉时添加一个动作(基本上是一个下拉刷新操作,但它会关闭,hacky 但可以工作)。