7

在我的 react native 应用程序中,我使用 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 的内容已经完全滚动到顶部,我只想关闭场景。我会满足于完全禁用轻弹关闭行为。

4

1 回答 1

3

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

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

于 2016-09-09T21:50:59.647 回答