我正在使用 in-app-paids-react-native-plugin 插件将 Square 支付方式集成到 React Native 中。在 iOS 中,如果在添加新卡反应本机弹出窗口中打开卡输入模型,则会产生问题。我有一个弹出窗口来添加新的信用卡详细信息,并在弹出窗口内调用卡输入模型时从包中收到此警告。它可以在 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 的新手。请提出这里发生了什么问题。
两个模态不能同时打开。在 iOS 上,即使连续打开模式也可能会触发此问题。对于我的情况,我关闭了第一个模态,并在打开第二个模态之前设置了 500 毫秒的时间。它解决了我的问题。