open change ios objective-c uiviewcontroller appdelegate

ios - change - set root view controller programmatically swift



Controlador de vista actual del delegado de la aplicaciĆ³n (2)

Estoy intentando presentar un controlador de vista desde el delegado de la aplicación con este código:

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

Mostrará el intersticial en el controlador de vista inicial pero ninguno de los otros. Quiero que se muestre en cada uno conectado a un controlador de navegación.

¿Cómo puedo modificar este código para lograr ese objetivo?


También puedes probar:

[[[UIApplication sharedApplication] keyWindow] rootViewController]

Como lo uso:

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


Versión Swift 3 para respuesta comprobada:

UIApplication.shared.keyWindow?.rootViewController