私は3つのビューコントローラー、a、b、cを持っています。私はaから始めて、bを提示します。ユーザーがログアウトしている場合は、cが表示されます。それ以外の場合は、以下のコードスニペットの元となるbに留まります。私がaからbに行くだけなら、aにpresentingViewController
設定されており、すべてが順調です。cが提示された場合、cを閉じると、presentingViewController
返さnil
れ、bでスタックします。
UIViewController* parent = self.navigationController.presentingViewController;
self.navigationController.viewControllers = @[[[UIViewController alloc] init]];
[parent dismissModalViewControllerAnimated: NO];
[parent presentModalViewController: self animated: NO];
[parent dismissModalViewControllerAnimated: YES];