在后台运行一段时间后,我想将用户锁定在我的应用之外。我在 AppDelegate 中发现了这一点applicationWillEnterForeground
(并与存储在 中的时间进行比较applicationWillResignActive
)。如果小于超时时间,则不执行任何操作。如果超过我打电话的超时时间:
[_navigationController popToRootViewControllerAnimated:NO];
这会将用户带回根视图。
它在一个视觉中断的情况下工作得很好。先前的视图(当应用程序处于非活动状态时用户正在查看的视图)在弹出到 root 之前非常短暂地出现。在测试中,视图似乎在applicationWillEnterForeground
被调用之前重新出现。
我唯一的想法是在不活动之前隐藏所有内容,例如用填充的矩形遮挡视图。这对我来说就像一个肮脏的黑客,所以我认为有更好的方法。
我也愿意以不同的方式达到相同的最终结果。谢谢!