访问当前活动显示的UIViewController

时间:2012-07-11 12:07:32

标签: ios uiviewcontroller modalviewcontroller

每次我的应用程序收到推送通知时,我想呈现一个ModalView。 通知到达后,我的应用会显示应用中的任意UIViewController

我需要UIViewController来调用

[presentingViewController presentModalViewController:vc animated:YES];
// presentingViewController is what I need :)

有没有办法找出哪个UIViewController当前有效?

我知道如何用例如UITabbarControllerUINavigationController,但我不能依赖其中任何一个。

我也试过通过

获取rootViewController
[[[UIApplication sharedApplication] keyWindow] rootViewController]

并从那里展示ModalView,但是 - 当然 - 它不会显示任何其他推/显示的视图。

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是获取每次显示控制器时更新的id或UIViewController类型的全局变量。这样,您将始终具有对当前控制器的引用。

希望这有帮助。

干杯!