当APP从后台返回到前台的时候,ViewController该怎么做
2个回答
2016-12-25
展开全部
具体分两种情况:
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];
}
2016-12-25
展开全部
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];
}
上代码
- (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];
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询