访问当前活动显示的 UIViewController
Posted
技术标签:
【中文标题】访问当前活动显示的 UIViewController【英文标题】:Access currently active displayed UIViewController 【发布时间】:2012-07-11 12:07:31 【问题描述】:每次我的应用程序收到 Pushnotification 时,我都想展示一个 ModalView。
收到通知后,我的应用会显示应用内的任何UIViewController
s。
我需要这个UIViewController
来打电话
[presentingViewController presentModalViewController:vc animated:YES];
// presentingViewController is what I need :)
有没有办法找出当前处于活动状态的 UIViewController?
我会知道如何做到这一点,例如UITabbarController
或 UINavigationController
,但我不能依赖其中任何一个的存在。
我也尝试通过
获取 rootViewController[[[UIApplication sharedApplication] keyWindow] rootViewController]
并从那里展示 ModalView,但是 - 当然 - 它不会显示任何其他推送/显示的视图。
【问题讨论】:
【参考方案1】:我认为最简单的方法是获取一个类型为 id 或 UIViewController 的全局变量,每次显示控制器时都会更新它。这样,您将始终拥有对当前控制器的引用。
希望这会有所帮助。
干杯!
【讨论】:
这种方法的问题是会触及课堂之外的其他代码,这是不可能的。以上是关于访问当前活动显示的 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章
OOAuthException:必须使用活动访问令牌来查询有关当前用户的信息