Objective-C:来自App Delegate的当前视图控制器

obj*_*001 1 modal-dialog objective-c

我想从app delegate中呈现一个视图控制器,它出现在所有内容之上,包括打开的任何模态视图.

当推送通知到达时,我会这样做.

test *fixtureViewController = [[test alloc] init];

[self.window.rootViewController presentViewController:testViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

但是,如果从另一个视图控制器激活模态视图,则这不起作用.

有任何想法吗?

Nik*_*rev 7

试试这个:

+ (UIViewController*) topMostController {
    UIViewController *topController = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
    while (topController.presentedViewController) {
        topController = topController.presentedViewController;
    }
    return topController;
}
Run Code Online (Sandbox Code Playgroud)

使用此方法,您可以找到当前活动的视图控制器.

祝好运