我的 iOS 应用程序有一个要求,如果您将应用程序暂停一段时间(比如一小时),我们希望应用程序不会返回到您之前的位置,而是返回到主屏幕。这个想法是你深入到应用程序,查找一些东西,然后忘记它。一个小时后,当您再次需要该应用程序时,您之前所做的一切都无关紧要,我们只想在主屏幕上再次自动启动。
我已经用DidEnterBackground
and实现了这个WillEnterForeground
,它几乎可以完美地工作。当应用程序进入后台时,我会写一个时间戳。当它恢复时,我将时间戳与当前时间进行比较,如果大于 1 小时窗口,我将所有内容从 ViewController 堆栈中弹出,动画=false,我们就到家了。
这适用于 iPad 和所有模拟器,但在我的 iPhone 上,它会在回家之前显示上一个屏幕一小部分时间,即使 WillEnterForeground
它在它应该可见之前出现,并且它在没有动画的情况下从堆栈中弹出,所以应该不可见。这里发生了什么?