0

当我在没有调用 viewWillAppear 之后进入前台时,谁能指导我如何在前台之后触发我的 viewWillAppear 方法

感谢提前

4

2 回答 2

2

在任何应用程序中,当您的应用程序进入后台或进入前台时,您的 viewController 的委托方法将不会被调用,您的应用程序委托方法将被调用。

Apple 为每个应用程序委托方法提供了通知,您可以在 viewControllers 中实现它们,您可以在其中解决最小化和最大化应用程序的问题。

只需UIApplicationWillResignActiveNotification用于检测应用程序进入后台并使用UIApplicationWillEnterForegroundNotificationUIApplicationDidBecomeActiveNotification用于检测应用程序返回前台。

在适当的地方添加和删除这些通知,主要是viewDidLoadviewDidUnLoad.

谢谢

于 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 回答