質問: **前提・実現したいこと** 開発環境:iMac OS:High Siera xcode:9.1 言語:Objective-C 実行環境:iPad Pro OS:ios11 古いObjective-Cのソースをios11に対応するため、プログラムの改修を行っています。 古いソースではUIAlertViewで処理待ちのダイアログを表示後、 ``` [self.navigationController pushViewController:次画面のインスタンス animated:YES]; ``` と表示して画面を切り替えておりました。 UIAlertViewからUIAlertControllerにダイアログ表示を切り替え、処理待ちが完了後、 ``` [alert dismissViewControllerAnimated:YES completion:nil]; ``` でダイアログを消去後、画面を切り替えると ``` pushViewController:animated: called on while an existing transition or presentation is occurring; the navigation stack will not be updated. ``` と表示され画面が切り替わらなくなりました。 (exNavigationControllerはUINavigationControllerを継承した自作クラスです。) どのようにしたら画面が切り替わるでしょうか? わかる方がいらっしゃいましたら、ご回答をお願いします。
回答: `dismissViewControllerAnimated`でViewControllerが閉じきる前に`pushViewController`を呼び出しているのではないでしょうか? completionの中で`pushViewController`を呼ぶのが良いかと思います。