我有一个viewcontroller,需要在应用程序退出后台时重新加载。我只需要这个单一的viewcontroller来完全重载。我不需要做任何事情如果应用程序在任何其他viewcontrollers上变得活跃。有什么想法吗?
答案 0 :(得分:2)
让视图控制器注册UIApplicationWillEnterForegroundNotification
通知,或者注册UIApplicationDidBecomeActiveNotification
。
在viewDidLoad
中你可以这样做:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(foregrounded) name:UIApplicationWillEnterForegroundNotification object:nil];
在dealloc
中,您需要取消注册:
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillEnterForegroundNotification object:nil];
您需要实施foregrounded
方法:
- (void)foregrounded {
// app now in the foreground - do something
}
答案 1 :(得分:0)
您的独特视图控制器有一个唯一的名称吗?
如果不是,则为每个viewcontroller添加一个名称。
当应用程序转到后台时,请将活动viewcontroller的名称保存到NSUserDefaults
当应用程序恢复到前台时,请检查已保存的视图控制器名称。如果这是您唯一的viewcontroller,那么请重新加载。
希望这会对你有所帮助