3つのビューコントローラーを備えたタブバーアプリがあり、「viewWillAppear」を使用して開いているビューを検出します。
アプリを閉じても「バックグラウンド」で動作し、アプリを再度開くと「viewWillAppear」がこの開きを検出しません。
この開口部を検出する他のオプションはありますか?ありがとう
3つのビューコントローラーを備えたタブバーアプリがあり、「viewWillAppear」を使用して開いているビューを検出します。
アプリを閉じても「バックグラウンド」で動作し、アプリを再度開くと「viewWillAppear」がこの開きを検出しません。
この開口部を検出する他のオプションはありますか?ありがとう
アプリデリゲートでまたはを監視UIApplicationWillEnterForegroundNotification
または実装できます。applicationWillEnterForeground:
まず、必要な委任方法をUIApplicationDelegate
現在開いているアプリケーションを閉じると、次のメソッドが呼び出されます。
- (void)applicationDidEnterBackground:(UIApplication *)application
アプリケーションを閉じた後、まだドックにある場合は、アプリケーションを再度開きます。アプリケーションに入る前の遷移状態では、次のメソッドを呼び出します。
- (void)applicationWillEnterForeground:(UIApplication *)application
アプリケーションを閉じる前に、アプリケーションが以前の状態で完全に表示されたとき。最後にthidメソッドを呼び出します。
- (void)applicationDidBecomeActive:(UIApplication *)application
で何かをしたい場合は、アプリケーションがアクティブになった後に実行したいことを実行するために、現在のビューまたは他のビューにメッセージを送信するためにviewWillAppear
実装する必要があります。applicationDidBecomeActive
アプリがバックグラウンドから再開されると、メソッドを受け取りますapplicationWillEnterForground:
。applicationDidEnterBackground:
一時停止したときにも取得します。
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"app will enter foreground");
[viewController refresh:NULL];
}
これでうまくいくと思います。アプリのデリゲートにこれを書いてください