reactjs - 覆盖新路线时,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但似乎无法消除插入问题。
解决方案
推荐阅读
- c# - CommandLineParser 库 - 如何将一个选项的输出用于下一个选项
- drop-down-menu - 禁止选择弹出菜单(也称为下拉列表)的空元素,例如 Vaadin 8 中的 NativeSelect
- cmake - CMake未能构建,找不到openssl
- c - 打印 C 链表会产生内存泄漏
- c - 零在C中的int字面量之间
- android - DatabaseHelper 中的 DeleteFunction(Long) 无法应用于 java.lang.String
- model-checking - SPIN 断言未触发
- javascript - 无法使用 AJAX 获取选择值
- php - preg_replace 模式不适用于 HTML 标签
- javascript - React Router 4:内部导航更改 URL 但不更改视图