1

我正在展示来自另一个模态视图控制器的模态视图控制器,这在 iOS6 之前的所有 iOS 版本下都运行良好。但在 iOS6 下,我在模拟器中收到以下警告消息:

Warning: Attempt to present <UINavigationController: 0x14e93680> on <UINavigationController: 0x9fc6b70> while a presentation is in progress!

如果出现此警告,则不会显示模态视图控制器。基本上我使用这样的代码来显示模态视图控制器:

WebAuthViewController *authController = [[WebAuthViewController alloc] initWithNibName:nil bundle:nil];
authController.challenge = challenge;
authController.delegate = self;
UINavigationController *aNavController = [[UINavigationController alloc] initWithRootViewController:authController];
[self presentModalViewController:aNavController animated:YES];
[aNavController release];
[authController release];

已经显示的视图是 UIWebView 也显示在模态视图中,如下所示:

WebViewController *addController = [[WebViewController alloc] initWithNibName:nil bundle:nil];
addController.urlToLoad = [NSURL URLWithString:urlString];
addController.delegate = self;

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];
navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navigationController animated:YES];

[navigationController release];
[addController release];

苹果文档仍然建议应该能够像这样堆叠导航控制器,所以我不知道为什么会发生这种情况。有什么提示吗?

4

2 回答 2

0

一个视图控制器只能呈现一个视图控制器。这在以前可能是允许的,但由于内部重组可能在 iOS6 中强制执行(在 iOS6presentModalViewController:animated:中已弃用)。是时候改变你的视图控制器组织了。也许可以引入一个要呈现的导航控制器。如果已经存在一个视图控制器,请将下一个视图控制器推送到导航堆栈。

于 2012-12-08T05:00:05.293 回答
0

好的,这真的很愚蠢 - 我忘记了 curl 的 URL 周围的引号,并且 shell 确实在后台执行了没有参数的命令。

于 2017-06-30T08:39:50.867 回答