0

ビューの1つにツールバーが表示されるナビゲーションベースのアプリがあります。Homeキーを押してアプリケーションに再度入ると、ツールバーが非表示になります。viewDidAppear / viewWillAppearで再表示しようとしましたが、起動しません。

ツールバーを再表示する適切な場所はどこですか?

4

1 に答える 1

2

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
}
于 2012-06-13T01:28:28.350 に答える