2017-01-23 55 views
0

我在一个场景中有一个垂直ScrollView和一个较小的水平ScrollView在场景中禁用水平滑动

第一次渲染场景时它工作正常,但第二次,当用户尝试在水平滚动滚动,整个场景拖动具有以下效果:

enter image description here

有没有办法设置属性NavigatorIOS.interactivePopGestureEnabled或解决方法与核心Navigator

我已经使用Navigator完成了整个导航,现在必须更改为NavigatorIOS将是一个巨大的痛苦。

更新:刚刚在Android上进行了测试,它具有相同的行为。

回答

1

您将需要定义一个自定义动画场景配置。

const BaseConfig = Navigator.SceneConfigs.FloatFromRight; 
 

 
const CustomSceneConfigNoSwipeGestures = Object.assign({}, BaseConfig, { 
 
    springTension: 100, 
 
    springFriction: 1, 
 
    gestures: {} 
 
}); 
 

 
    pushScreen =() => { 
 
    this.props.navigator.push({ 
 
     name: 'My Screen', 
 
     component: MyScreen, 
 
     sceneConfig: CustomSceneConfigNoSwipeGestures, 
 
    }); 
 
    }

空手势:{}对象会覆盖将从Navigator.SceneConfigs对象施加的标准行为。

+0

谢谢,你也给了我一些见解,只有一些'SceneConfigs'有这种行为。这让我疯狂。例如:'PushFromRight'没有这个手势。 – Eldelshell