1

我想从应用程序委托中展示一个视图控制器,它出现在所有内容之上,包括打开的任何模态视图。

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

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

[self.window.rootViewController presentViewController:testViewController animated:YES completion:nil];

但是,如果有来自另一个视图控制器的模态视图处于活动状态,这将不起作用。

有任何想法吗?

4

3 回答 3

7

试试这个:

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

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

祝你好运

于 2013-06-17T20:09:24.087 回答
0

您可能必须使用活动视图控制器来呈现此视图并让每个视图在活动时侦听通知。你在使用故事板吗?然后你可以用不同的方式来做这件事。我没有尝试过,所以我不积极。

于 2013-06-17T20:01:52.983 回答
0

不确定您的代码是如何完成的,但这些是您可以发送给您的视图的一些消息;

[[view superview] bringSubviewToFront:testViewController];
[[view superview] sendSubviewToBack:testViewController];

或者

[testViewController sendToBack];
[testViewController bringToFront];
于 2013-06-17T20:30:03.747 回答