从后台恢复呈现ModalViewController,避免下面的内容闪烁

在我的应用程序中,我将在启动时在根视图控制器之上呈现一个模式视图控制器,并在从后台恢复时显示加载/汇总屏幕。 几秒钟后,这被解散,以显示根视图控制器。 模式通过applicationWillEnterForeground程序委托上的applicationWillEnterForeground方法呈现。

这一切都工作正常,但从后台恢复时,再次呈现加载模式之前,看到较低的根视图控制器的闪光是相当普遍的。

我正在努力find一个明显的方式来做这个演示文稿,以确保它安全地出现,而没有看到底下的视图。 我错过了一些非常明显的东西吗?

该文件说明如下:

准备拍照。 当applicationDidEnterBackground:方法返回时,系统会拍摄应用程序的用户界面的图片,并将结果图像用于过渡animation。 如果接口中的任何视图包含敏感信息,则应在applicationDidEnterBackground:方法返回之前隐藏或修改这些视图。

这意味着您应该修改applicationDidEnterBackground:的视图applicationDidEnterBackground:使其以您希望它出现在iOS应用程序进入后台状态时iOS自动执行的图片的方式显示。

请记住以下几点:

您的应用程序委托的applicationDidEnterBackground:方法有大约5秒钟来完成任何任务并返回。 实际上,这个方法应该尽快返回。 如果该方法在时间耗尽之前没有返回,则应用程序将被终止并从内存中清除。 如果仍然需要更多时间来执行任务,请调用beginBackgroundTaskWithExpirationHandler:方法来请求后台执行时间,然后在辅助线程中启动任何长时间运行的任务。 无论您是否启动任何后台任务,applicationDidEnterBackground:方法都必须在5秒内退出。

我记得,当一个应用程序是背景苹果代码截图并将其存储。 当您的应用程序恢复时,它会显示屏幕截图,直到您的应用程序完成并接pipe。

简短的回答,我不认为有可能避免内容的闪光。

你真的有两个select,我只是build议做一个简短的“出现”animation,以平稳过渡。 如果您尝试使用relogin提示或其他方式来保护敏感资料,那么这将不起作用。 如果你正在处理这样的情况,你需要处理的事情,当你进入反弹状态,而不是当你从它回来。