当应用程序最小化并再次被带到前面时调用哪种方法?

时间:2011-05-02 17:56:14

标签: objective-c cocoa-touch ios

我希望始终选择一个按钮。在界面构建器中,我选择了标记突出显示。触摸按钮时,会在触摸内部上调用方法。

-(IBAction)openPage:(id)sender{
     button.highlighted = YES;
     [[UIApplication sharedApplication]
             openURL:[NSURL URLWithString: @"http://www.page.net"]];
}

所以浏览器打开了。当我返回到我的应用程序时,不再选择该按钮。为什么不选择它?

当应用程序最小化时以及当我返回应用程序时调用什么方法?

1 个答案:

答案 0 :(得分:1)

您可以通过几种方式跟踪此问题。第一个是在您的应用委托中实施-applicationDidBecomeActive:。每当您的应用程序从非活动状态转换为活动状态时,此方法都将被调用,包括从睡眠状态唤醒,从电话呼叫返回,刚刚收到的短信通知结束等等。根据您的需要,这可能没问题。它还具有在iOS 3.0 +上可用的优势。

另一种方法是在您的应用委托中实施-applicationWillEnterForeground:。虽然此方法仅适用于iOS 4.0及更高版本,但它的优势在于仅在从其他应用程序切换后将应用程序置于前台时才会调用此方法。

如果在app appate中实现此功能是不可行或不合适的,您可以为UIApplicationDidBecomeActiveNotificationUIApplicationWillEnterForegroundNotification添加通知观察器。