警告:尝试在已呈现 <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> 的 * 上呈现视图控制器
Xamarin.Forms 警告:尝试使用 iOS 图像/手势识别器在其视图不在窗口层次结构中的 * 上呈现 *
警告:尝试在已经呈现的 MainTableViewController 上呈现 ModalTableViewController (null)