正常情况下,AppDelegate中实现下面两个方法,能够监听从后台恢复到前台.
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"---applicationDidEnterBackground----"); //进入后台
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"---applicationDidBecomeActive----");//进入前台
}
如果想要对单独的控制器(UIViewController)监听需要在-viewDidLoad
方法中,添加一下代码监听notification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(someMethod:)
name:UIApplicationDidBecomeActiveNotification
object:nil];
在-dealloc中将监听移除:
[[NSNotificationCenter defaultCenter] removeObserver:self];
如果有几个页面从后台进入前台时展示的内容是一样的,可以写一个宏,然后使用的控制器调用一下.
网友评论