在我的本机应用程序中,我正在使用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的内容已经完全滚动到顶部,我只想关闭场景。我决定完全禁用轻弹关闭行为。
答案 0 :(得分:3)
您可以尝试将panHandlers={null}
添加到场景道具中。我相信这应该禁用关闭电影。
此外,您可以可能然后在ScrollView中使用RefreshControl
来添加操作,当用户从已经位于顶部的列表中拉下时(基本上是拉动 - 向下刷新动作,但它会解散,hacky但可以工作)。