現在の UIViewController の上に新しい UIViewController を表示しようとしています。目的の効果を作成するコード行は次のとおりです。
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
UIViewController *rootController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
[rootController presentViewController:loginViewController animated:YES completion:nil];
問題は、ユーザーに目的のアクション (ログアウト) を確認するように求める UIActionSheet を追加したことです。ユーザーがアクションを確認すると、上記の平和なコードを実行しますが、UIActionSheet は依然として keyWindow のままです。したがって、LoginViewController は上部に表示されません (デバッグしようとすると、rootController は null になります)。
私の質問は次のとおりです: UIActionSheet の下にある UIWindow を見つけてそこからルート コントローラーを取得できますか、またはユーザーがログアウト アクションを選択してから上記のコードを実行するときに、プログラムで UIActionSheet を閉じることができますか?
前もって感謝します!