iOS应用程序进入前台时更改屏幕

时间:2015-06-10 16:12:33

标签: ios objective-c iphone

我有一个iOS应用程序(用Objective-C编写),当在后台运行时,它会执行后台任务来检测你是否移动超过5英里每小时。如果发生这种情况(行程> 5英里/小时),则当应用程序被带到前台时会显示特定屏幕(屏幕123)。

这当前有效,但是当应用程序被带到前台时,您会在显示screen123之前简要地看到上次使用应用程序时查看过的最后一个屏幕(大约1秒钟)。有没有办法让应用程序在后台运行,当它被带到前台立即显示screen123(没有显示前一个屏幕)?

导致screen123显示的代码在AppDelegate中的applicationWillEnterForeground内。

1 个答案:

答案 0 :(得分:1)

iOS使用您上次状态的快照,以隐藏转换延迟回到您的应用。你可能正在看到这个。

阅读"准备拍摄应用的照片"来自Apple的"Strategies for Handling App State Transitions"

你将很难完全摆脱它。你应该考虑一些平滑过渡的方法。也许你可以有一个只包含不会改变的内容的屏幕,然后淡化"< 5英里每小时"或"> 5英里每小时"之后将内容放到屏幕上。