【发布时间】:2017-12-13 18:11:36
【问题描述】:
在我的react-navigation 驱动的应用程序中,我使用模态视图来显示一些视图。在这个模态视图控制器中,我还使用react-native-image-picker 来显示一个图像选择器。问题:当显示第二个模态对话框的同时也显示“通话中”状态栏时,第一个模态对话框的导航栏位置将在通话状态栏下方。这是一个示例(我使用 ⌘ + Y 在 iOS 模拟器中切换“通话中”模式):
当状态栏的高度发生变化时,我尝试在包含所有屏幕的第一个组件中调用forceUpdate,但这并不能解决问题。有没有更好的(甚至是已知的?)方法来摆脱这种情况?
【问题讨论】:
-
npm 上有一个包叫做 react-native-call-detection。您可以使用自定义组件作为标题,并使用调用事件设置填充值来解决此问题。
-
@htkibar 不幸的是,对于应该在 iOS/RN 中解决的问题,这将是一个非常棘手的解决方法,并且很难跟踪视图状态以确定导航栏是否绘制在方法不正确。
-
是的。只是想指出一种暂时解决问题的方法。此外,如果重新渲染解决了问题,那么解决问题的潜在方法应该是在设定的时间后强制更新,尽管仍然很麻烦。
-
在最上面的组件上每 1000 毫秒调用一次
forceUpdate- 不幸的是,根本没有效果。认为问题在于反应原生层之上。
标签: ios react-native react-navigation