0

viewWillAppear が呼び出されなかった後にフォアグラウンドに入ると、フォアグラウンド後に viewWillAppear メソッドを起動する方法を教えてもらえますか

前もってありがとう

4

2 に答える 2

2

どのアプリでも、アプリがバックグラウンドまたはフォアグラウンドになると、viewController のデリゲート メソッドは呼び出されず、アプリケーションのデリゲート メソッドが呼び出されます。

Apple は各アプリのデリゲート メソッドに通知を提供しています。アプリの最小化と最大化を行う viewControllers にそれらを実装できます。

UIApplicationWillResignActiveNotificationバックグラウンドに入るアプリを検出して使用するかUIApplicationWillEnterForegroundNotificationUIApplicationDidBecomeActiveNotificationフォアグラウンドに戻るアプリを検出するために使用します。

これらの通知を適切な場所に追加および削除します。主に で追加viewDidLoadおよび削除しviewDidUnLoadます。

ありがとう

于 2012-10-13T13:38:19.363 に答える
0

appdelegate のメソッドで、どのビュー コントローラーが一番上にあるかを確認できます。

- (void)applicationWillEnterForeground:(UIApplication *)application{
    /* find out the top view controller as

    self.navigationController.visibleViewController
                 OR
    self.navigationController.topViewController
    and find out its kind using:
    [self.navigationController.visibleViewController isKindOfClass:[YourViewControllerClass Class]];
    */
}
于 2012-10-13T13:48:13.170 に答える