具体分两种情况: 1.指定界面是一种盖在app上的效果 2.指定界面是一个正常界面 第一种情况可以在程序从后台切换到前台时在app上面加一个UIWindow对象,通过操作Window对象进行切换,比如此对象可以是密码输入框 第二种情况则是在进入后台后将rootViewController置为空,切换到前台时重新指定 - (void)applicationDidEnterBackground:(UIApplication *)application { //第二种情况 self.window.rootViewController = nil; } - (void)applicationWillEnterForeground:(UIApplication *)application { //第二种情况 [self createRootVC]; self.window.rootViewController = wpTC; [self.window makeKeyAndVisible]; //第一种情况 UIWindow *window = [[UIWindow alloc] initWithFrame:CGRectMake(10, 100, 300, 260)]; window.backgroundColor = [UIColor blackColor]; window.windowLevel = 999; [window makeKeyAndVisible]; }
iOS已经帮我们做好了一些事,只要我们注册监听一下就好了
上代码
- (void)viewWillAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground)name:UIApplicationWillEnterForegroundNotification object:nil];
}
- (void)applicationWillEnterForeground{
//do u want to do
}
这样就能在VC中监听到app从后台回到前台了。
最后一定别忘了要remove这个监听者
- (void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}