0

iOS6.0でクラッシュに直面しています。ビューコントローラーがあり、そこからナビゲーションビューコントローラーをモーダルで提示し、次にナビゲーションスタックから別のビューコントローラーをモーダルで提示し、最後にモーダルスタック全体を閉じるために、ナビゲーションを表示した最初のビューコントローラーに次のメッセージを渡します。コントローラ。

現在、これは6.0未満のiOSで正常に機能します。これをどのように処理すればよいですか?

[自己dismissModalViewControllerAnimated:YES];

4

3 に答える 3

4

私もこの同様のクラッシュを経験しましたが、それを解決するのに役立ったものの1つは、追加することでした:

vc.modalPresentationStyle = UIModalPresentationCurrentContext;

于 2012-10-05T12:30:28.950 に答える
3

おそらく、dismissModalViewControllerがiOS6で非推奨になっているためですか?試す

[self dismissViewControllerAnimated:YES completion:nil];
于 2012-09-27T19:44:24.230 に答える
3

編集: appDelegate に 'makeMeNumberOne:(UIViewController *)vc': というメソッドを追加するとします: (「モーダル」バージョンを使用していることはわかっています。iOS6 では廃止され、「提示された」バリアントに切り替えます) . また、navigationController を見つけることができると仮定します。これが問題である場合は、コメントを追加してください。これをさらに拡張し、ARC を使用していると仮定します。)

  • あなたが持っているパラメータは強い参照です。それは現在提示されているviewControllerを保持しています。それをpvcと呼びましょう

  • navigationController にその viewController を要求し、最後のものを取得します

  • デバッグ ツールとして、この vc に非 nil presentedViewController プロパティがあることを確認します

  • 上記の最後のView Controllerにメッセージを送信します:

    [lastOne disconnectViewControllerAnimated:NO 完了:^{ [navigationController.viewControllers = @[pvc]; }];

于 2012-09-27T19:00:18.760 に答える