ビューの1つにツールバーが表示されるナビゲーションベースのアプリがあります。Homeキーを押してアプリケーションに再度入ると、ツールバーが非表示になります。viewDidAppear / viewWillAppearで再表示しようとしましたが、起動しません。
ツールバーを再表示する適切な場所はどこですか?
ViewDidAppear / ViewWillAppearは、アプリケーションがフォアグラウンドに入ったときに呼び出されません。フォアグラウンドで入力されたアプリケーションを処理するには、通知を作成する必要があります。
Appdelegateで、次のコードをapplicationWillEnterForegroundに追加します。
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName: @"UIApplicationWillEnterForegroundNotification" object: nil];
}
次に、それぞれのView Controllerで、次の変更を行います
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(handleEnterForeground:)
name: @"UIApplicationWillEnterForegroundNotification"
object: nil];
}
- (void) handleEnterForeground: (NSNotification*) sender
{
//Do whatever you need to do to handle the enter foreground notification
}