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で強制されている可能性があります(presentModalViewController:animated:iOS6では非推奨です)。ビューコントローラの構成を変更するときが来ました。おそらく、提示されるナビゲーションコントローラを導入することは可能です。すでに表示されているViewControllerがある場合は、次のViewControllerをナビゲーションスタックにプッシュします。

于 2012-12-08T05:00:05.293 に答える
0

OK、それは本当にばかげていました-私はcurlのURLの周りの引用符を忘れました、そしてシェルは引数なしでバックグラウンドでコマンドを実行しました。

于 2017-06-30T08:39:50.867 に答える