获取最后显示的视图控制器
Posted
技术标签:
【中文标题】获取最后显示的视图控制器【英文标题】:Getting last shown view controller 【发布时间】:2014-03-12 21:04:25 【问题描述】:是否可以在 AppDelegate 中
- (void)applicationDidBecomeActive:(UIApplication *)application;
感谢您的回答=)
【问题讨论】:
当您从后台返回时,或当您启动应用程序时? 当我从后台回来时 【参考方案1】:如果你的rootViewController
是UINavigationController
,你可以得到是topViewController
UINavigationController *nav =
(UINavigationController *)[[self window] rootViewController];
[nav.topViewController view].backgroundColor = [UIColor redColor];
如果你有一个UITabBarController
作为rootViewController
UITabBarController *nav =
(UITabBarController *)[[self window] rootViewController];
[nav.selectedViewController view].backgroundColor = [UIColor redColor];
【讨论】:
当然不是,root就是root!在 99% 的时间里,root 是一个 navigationController 或一个 TabBarController,所以我们可以向这个“nav”询问当前选择/显示的 ViewController。现在,如果您通过代码推送模态 VC,则此代码不起作用。 没错!而我需要的是知道当前......但我怎样才能得到它? 我给你例子:nav.topViewController
或nav.selectedViewController
(取决于根类型)以上是关于获取最后显示的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章