0

アプリがバックグラウンドから出たときにリロードする必要があるビューコントローラーがあります。完全にリロードするには、この単一のビューコントローラーが必要です。アプリが他のビューコントローラーでアクティブになった場合、何もする必要はありません。何か案は?

4

2 に答える 2

2

View Controller に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
}
于 2013-01-22T00:04:57.047 に答える
0

あなたのユニークなView Controllerはユニークな名前を持っていますか?

いいえの場合は、ビューコントローラーごとに名前を追加します。

アプリがバックグラウンドに移行したら、アクティブなビューコントローラーの名前をNSUserDefaultsに保存します

アプリがフォアグラウンドに復元されたら、保存したビューコントローラー名を確認してください。これが独自のビューコントローラーである場合は、リロードを行います。

これがあなたに役立つことを願っています

于 2013-01-22T00:03:32.113 に答える