首页 > 解决方案 > 覆盖新路线时,React Native先前的路线会改变位置

问题描述

我正在修补各种动画和视图布局,并react-navigation辅以第三方库。

在覆盖多条路线时,我一直在为一些不良行为摸不着头脑。这很难解释,所以我做了一个最小的例子来强调这个问题。

本质上,您从主屏幕路线开始,然后可以按下一个按钮,该按钮将打开一个(我认为它们在 IOS 中称为操作表)一个具有叠加效果的新工作表。

覆盖的工作表称为“行动工作表”。然后,用户可以从这里选择打开另一个工作表,即模态视图。当您尝试打开模型(第三个视图)时会发生什么,前一个视图(操作表)的位置会稍微向上推到屏幕上。好像有一些margin-bottom被应用。我的猜测是它与插图有关,但我不知道如何在进入下一个视图时阻止它移动!

为什么这很重要?好吧,在我的实际应用程序中,第三个视图是具有透明背景的模型,因此对于最终用户来说,他们实际上可以看到第二个屏幕在导航时上下移动,这是不可取的!

我试图保持这个例子很小,但如果它不够小,请大声喊叫。

任何帮助都会很棒!

https://snack.expo.io/Jgac-odfZ

[编辑] 请注意,请仅在模拟器中使用 IOS 设备。这根本没有在 Android 设备上进行测试。

[编辑 2] 我还在 GH 上打开了一个线程:https ://github.com/react-navigation/react-navigation/issues/9613并已指向https://reactnavigation.org/docs/stack-navigator/ #transparent-modals但似乎无法消除插入问题。

标签: reactjsreact-nativereact-navigation

解决方案


推荐阅读