2012-05-05 5 views
2

私は3つのビューコントローラを持つタブバーアプリケーションを持っており、どのビューがopendであるかを検出するために "viewWillAppear"を使用します。アプリの開封を検出しますか?

アプリを終了すると「バックグラウンドで」機能し、アプリをもう一度開くと「viewWillAppear」はこのオープニングを検出していません。

この開口部を検出するオプションはありますか?ありがとう

答えて

5

まず、あなたはUIApplicationDelegate

  • に必要な委任方法が表示されます閉まっていますが、まだドックに入っていれば、それらを再び開きます。アプリケーションに入る前に、遷移状態では、それは、このメソッドを呼び出します:あなたがそれらを閉じ前に、アプリケーションは完全に以前の状態に提示

    - (void)applicationWillEnterForeground:(UIApplication *)application

  • 。あなたがviewWillAppearに何かをしたい場合、あなたが何をしたいか何をするためにあなたの現在のビューまたは他のいくつかのメッセージを送信するためにapplicationDidBecomeActiveに実装する必要があり

    - (void)applicationDidBecomeActive:(UIApplication *)application

:それは最終的にTHIDメソッドを呼び出します申請が有効になった後

+0

これを実装する例を教えてください。 – CroiOS

+0

が見つかりました:http://stackoverflow.com/questions/4919950/applicationwillenterforeground-reload-data-from-viewcontroller ありがとうございました。ありがとうございました。 – CroiOS

+0

よろしくお願いします。 – Sakares

1

アプリをバックグラウンドから再開すると、applicationWillEnterForground:メソッドが表示されます。停止するとapplicationDidEnterBackground:が表示されます。

8

UIApplicationWillEnterForegroundNotificationを確認したり、applicationWillEnterForeground:をアプリデリゲートに実装したりできます。塗布後

- (void)applicationDidEnterBackground:(UIApplication *)application

  • 持って:あなたは、現在開いている、それは、このメソッドを呼び出します近いアプリケーションがとき

  • 0
    - (void)applicationWillEnterForeground:(UIApplication *)application { 
    NSLog(@"app will enter foreground"); 
    [viewController refresh:NULL]; 
    } 
    

    これはうまくいくと思います。 これをあなたのアプリケーションデリゲートに書き込みます

    関連する問題