web-dev-qa-db-fra.com

Présenter le contrôleur de vue du délégué de l'application

J'essaie de présenter un contrôleur de vue du délégué de l'application avec ce code:

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

Il affichera l'interstitiel sur le contrôleur de vue initial mais aucun des autres. Je veux qu'il s'affiche sur chacun connecté à un contrôleur de navigation.

Comment puis-je modifier ce code pour atteindre cet objectif?

24
user2247438

Vous pouvez également essayer:

[[[UIApplication sharedApplication] keyWindow] rootViewController]

Comment je l'utilise:

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

Version Swift 3 pour une réponse vérifiée:

UIApplication.shared.keyWindow?.rootViewController
10
Kevin ABRIOUX