onResume/onPause在iOS应用程序上

问题描述:

在Android上,当我编写应用程序时,我需要实现onResume/onPause以便我的活动转到后台并从前台返回。如果我需要如何对iOS做同样的事情,我已经使用Google搜索了。但我找不到任何有用的东西。你能告诉我,我需要做些什么来处理我的iOS应用程序进入后台并回到前台?onResume/onPause在iOS应用程序上

谢谢。

+0

我希望能解决这个问题,看看我的回答是否正确。 – 2016-09-02 19:30:35

有一个专用类,它接收通常称为XXXApplicationDelegate的这些事件的委托回调(来自应用程序实例本身)。

在那里您需要为应用程序生命周期实现委托方法。

- (void)applicationWillResignActive:(UIApplication *)application { 
} 

- (void)applicationDidEnterBackground:(UIApplication *)application { 
} 

- (void)applicationWillEnterForeground:(UIApplication *)application { 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application { 
} 

- (void)applicationWillTerminate:(UIApplication *)application { 
} 
+0

问题涉及控制器生命周期而不是应用程序生命周期。 – 2016-09-02 19:29:23

+0

我想''onPause' /'onResume'最接近,例如,从'applicationDidEnterBackground' /'applicationWillEnterForeground'发布[通知](https://developer.apple.com/documentation/foundation/nsnotificationcenter)并接收他们从控制器。 – 2018-02-28 10:28:25

您想在应用程序生命周期中查看Apple documentation。具体而言,您对application:didFinishLaunchingWithOptions:applicationDidBecomeActive:applicationDidEnterBackground感兴趣。

+0

问题涉及控制器生命周期而不是应用程序生命周期 – 2016-09-02 19:29:35

+0

多次发布相同的评论并不能使其更加正确。 – 2016-09-02 20:26:21

+0

你是对的! – 2016-09-02 20:29:23

您正在寻找

override func viewDidDisappear(animated: Bool) {} 

对于在onPause

override func viewDidAppear(animated: Bool) {} 

为的onResume

其他答案指的是应用程序生命周期Ç与控制器(Android中的活动)回调相对的allbacks。

+3

这根本不正确。 OP明确要求“我需要做些什么才能处理我的iOS应用程序,并将其转回到前台?” 您引用的两种方法不对应于BACK/FORG应用,而是任何视图控制器的根视图生命周期,这是完全不同的事情。 – 2016-09-03 18:00:51

+1

也许你应该看看有关特定方法的Android文档以及它们的功能。 onResume和onPause与活动相关,而不是与应用程序生命周期相关。此外还提到了问题中的活动。如果这是语义问题,那么它就是2。为什么不检查你的答案? – 2016-09-03 18:45:11

+0

为了说清楚,即使在来回切换应用程序或关闭和打开屏幕时,每当活动进入前台时,都会调用Android的'onResume'。另一方面,当控制器视图第一次出现在屏幕上时,iOS'viewDidAppear'只被调用一次。 – 2018-02-28 10:13:34