我正在尝试实现某些功能,这非常令人困惑。 在我们的应用中,同一堆栈中的所有内容都具有从左到右的过渡,而从不同堆栈进行导航会导致从上到下的过渡。
我认为需要更改的堆栈示例:
const BackupNavigator = createStackNavigator({
ZoomTutorial: ZoomTutorial,
ZoomScanComplete: ZoomScanComplete,
BackupSuccess: BackupSuccess,
},
{headerMode: 'none'});
流程是您进行面部扫描,然后显示成功屏幕。 现在,我添加了一个屏幕,您可以在其中验证备份。在BackupSuccess屏幕中。 因此,我在此导航器堆栈中添加了一个新屏幕,但是现在当我按下验证按钮时(返回到ZoomTutorial屏幕,过渡是从右到左。它返回到导航器中的屏幕。我希望它显示一个顶部到底部过渡。
这里的最佳做法是什么?我应该为此创建一个新的堆栈吗?应用程序如何知道我在哪个堆栈中?有没有更简单的解决方案?我找不到根据屏幕定义过渡的方法。
答案 0 :(得分:0)
您可以在navigationOptions
中为想要动画的每个屏幕指定想要的动画:
import { TransitionPresets } from 'react-navigation-stack';
// ...
static navigationOptions = {
title: 'Profile',
...TransitionPresets.ModalSlideFromBottomIOS
}
https://reactnavigation.org/docs/en/stack-navigator.html#pre-made-configs