web-dev-qa-db-ja.com

App DelegateからView Controllerを提示する

私はこのコードでアプリデリゲートからView Controllerを提示しようとしています:

- (void)interstitialViewControllerRequestSucceeded:(UIViewController *)interstitialViewController
{
    [self.window.rootViewController presentViewController:(UIViewController *)interstitialViewController animated:YES completion:NULL];
}

最初のView Controllerにインタースティシャルが表示されますが、他は表示されません。 Navigation Controllerに接続されているすべてのデバイスに表示したい。

この目標を達成するためにこのコードを変更するにはどうすればよいですか?

24
user2247438

また試すことができます:

[[[UIApplication sharedApplication] keyWindow] rootViewController]

使用方法:

#define ROOTVIEW [[[UIApplication sharedApplication] keyWindow] rootViewController]
[ROOTVIEW presentViewController:interstitialViewController animated:YES completion:^{}];
48
WrightsCS

チェック応答のSwift 3バージョン:

UIApplication.shared.keyWindow?.rootViewController
10
Kevin ABRIOUX