2

UIViewController をモーダルに表示しようとすると、次のエラーが発生します。

「アプリケーションは、アクティブなコントローラーをモーダルに提示しようとしました」。

これに関する多くの投稿をstackoverflowで読みました。このエラーについて説明します。この例外は、既に表示されている UIViewController を再度モーダルで表示しようとするとスローされることを認識しています。

私のアプリケーションロジックは次のとおりです。

アプリがバックグラウンドになったとき。を使用してモーダルビューコントローラーを閉じます

[self dismissModalViewControllerAnimated:NO]

アプリがフォアグラウンドに戻ったら、コントローラーをもう一度表示します

[self presentModalViewController:viewController animated:NO]

このロジックは iOS 6.0.1 の iPad では正常に動作しますが、iOS 6.0.2 の iPad Mini では失敗します。

提案をいただければ幸いです。

4

1 に答える 1

0

最善の解決策は、 iOS6 の場合はpresentViewControllerAnimated:completion:nil and dismissViewControllerAnimated:completion:を使用するか、少し遅れてビュー コントローラーを表示することです (メソッドによる呼び出しNSTimer)。

[self presentViewController:YourVC animated:YES completion:nil];

[self dismissViewControllerAnimated:YourVC completion:nil];
于 2013-01-23T06:04:08.493 に答える