警告:尝试在已呈现 <RCTModalHostViewController> 的 <RNNsideMenuController> 上呈现 <UINavigationCon

Posted

技术标签:

【中文标题】警告:尝试在已呈现 <RCTModalHostViewController> 的 <RNNsideMenuController> 上呈现 <UINavigationController>【英文标题】:Warning: Attempt to present <UINavigationController> on <RNNSideMenuController> which is already presenting <RCTModalHostViewController> 【发布时间】:2020-02-13 04:08:58 【问题描述】:

我正在使用in-app-payments-react-native-plugin 插件将 Square 支付方式集成到 react native 中。在 ios 中,如果在 Add new card react native popup 上打开卡片输入模型,则会产生问题。我有一个弹出窗口来添加新的信用卡详细信息,并在弹出窗口中调用卡输入模型时从包中收到此警告。如果不是从弹出屏幕调用,它可以在 android 和 iOS 上运行。

Xcode 内部的警告::

Warning: Attempt to present <UINavigationController: 0x7fba6b163400>  on <RNNSideMenuController: 0x7fba6b15fa00> which is already presenting <RCTModalHostViewController: 0x7fba6d798340>

我正在使用 Xcode 版本“11.0”并反应原生“0.61.4”。

这个包的objective-c代码产生这个警告::

UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.rootViewController;

if ([rootViewController isKindOfClass:[UINavigationController class]]) 
    [((UINavigationController *)rootViewController) pushViewController:cardEntryForm animated:YES];
 else 
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:cardEntryForm];
    [rootViewController presentViewController:navigationController animated:YES completion:nil];

这里的 if 部分正在工作,但 if 语句会生成此警告。我是目标 c 的新手。请提出这里发生了什么问题。

【问题讨论】:

我遇到了同样的问题,我感觉它与***.com/questions/32696615/… 有关,但我也没有 iOS 知识来实现​​它。 【参考方案1】:

我认为不能同时打开 2 个模态框。就我而言,我关闭了第一个模式,并在打开第二个模式之前设置了 500 毫秒的时间。它解决了我的问题。

【讨论】:

以上是关于警告:尝试在已呈现 <RCTModalHostViewController> 的 <RNNsideMenuController> 上呈现 <UINavigationCon的主要内容,如果未能解决你的问题,请参考以下文章

警告:尝试在已呈现 <UISearchController: 0x142a1f7c0> 的 * 上呈现视图控制器

警告:尝试在已呈现的*上显示View Controller

在已卸载的组件中发出有关setState的警告

Xamarin.Forms 警告:尝试使用 iOS 图像/手势识别器在其视图不在窗口层次结构中的 * 上呈现 *

警告:尝试在已经呈现的 MainTableViewController 上呈现 ModalTableViewController (null)

警告:尝试在其视图不在窗口层次结构中的 * 上呈现 * - swift