应用程序唤醒时重新加载单个ViewController

时间:2013-01-21 23:57:30

标签: ios objective-c uiviewcontroller

我有一个viewcontroller,需要在应用程序退出后台时重新加载。我只需要这个单一的viewcontroller来完全重载。我不需要做任何事情如果应用程序在任何其他viewcontrollers上变得活跃。有什么想法吗?

2 个答案:

答案 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,那么请重新加载。

希望这会对你有所帮助