我有一个非常简单的VC层次结构,其中应用程序的窗口有一个rootVC导航控制器,并且它的视图控制器在堆栈中。
要求是当用户进入后台(锁定按钮或主页按钮)时,VC层次结构应该被“扔”到垃圾箱中。这样当我们下次进入前景时我们重新开始并重建它(内部)。
在applicationDidEnterBackground处理程序的appDelegate中我正在做这个
UIViewController *yellowVC = [[UIViewController alloc] init];
yellowVC.view.backgroundColor = [UIColor yellowColor];
((UINavigationController *)self.window.rootViewController).viewControllers = @[yellowVC];
然而,当再次前进时,由于某种原因,我看到前一个最顶层控制器的内容大约一秒钟左右。
为什么? AFAIK当我替换viewControllers数组时,它被解除分配。
这是操作系统正在制作的截图吗?我发现很难相信它仍然是最顶级的VC。
如何摆脱烦恼?
顺便说一句。它是iOS 7.1和模拟器。
答案 0 :(得分:-1)
也许,你可以在退出时完全退出你的应用程序吗?
打开您的info.plist文件
添加密钥UIApplicationExitsOnSuspend
或选择Application does not run in background
将新密钥设置为YES
或填写复选框