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

时间:2016-08-29 03:35:13

标签: ios uiscrollview react-native react-native-router-flux

在我的本机应用程序中,我正在使用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的内容已经完全滚动到顶部,我只想关闭场景。我决定完全禁用轻弹关闭行为。

1 个答案:

答案 0 :(得分:3)

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

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