是否有一个UIViewController方法,当应用程序移动到后台时会自动调用?

Gru*_*kes 14 ios

我的UIViewController模型组件在下载完内容后发出的通知寄存器.

下载可以在后台进行(通过使用beginBackgroundTaskWithExpirationHandler:),所以显然我不希望我的GUI尝试重绘等,如果下载在后台完成.

所以我想我有两个选择 - 1)模型知道它在后台/前景中的时间并且不会触发通知.2)UIViewController在后台通知的注销登记.

选项2)是更可取的.

UIViewController当应用程序进入后台时,总会调用一个方法吗?或者,UIViewController当应用程序进入后台时,是否必须注册才能收到通知事件?

(看起来像等viewWillDisappear,viewWillUnload当应用程序移动到后台时不会被调用?)

Shu*_*ank 23

让您的视图控制器寄存器UIApplicationDidEnterBackgroundNotification中的view did load相关背景进入之前将被称为......选择方法..

  • +1但是,您可能会发现在唤醒时更新UI非常棘手.当您的应用程序背景化时,iOS设备将捕获屏幕截图并在应用程序恢复时显示此屏幕截图.这意味着,如果你在` - (void)applicationDidBecomeActive:(UIApplication*)应用程序中更新你的UI,用户将看到前一个屏幕,它将不会改变你改变UI的任何内容.... (2认同)