0

我正在构建一个基于导航控制器的应用程序。

我希望用户在重新启动应用程序时能够看到他退出应用程序时看到的最后一个屏幕。

就像在邮件应用程序中一样,当您在撰写邮件时按下“home”,然后当您返回邮件时,您会直接到达您正在撰写的邮件。

我首先想知道什么是最好的解决方案(我认为我不能用NSuserdefaults)。然后,我想知道这个解决方案是否适用于我的应用程序,考虑到在我的 rootviewcontroller 中我在本地下载我解析的数据,然后显示在多个导航控制器视图中。

4

1 回答 1

0

我刚刚解决了这个......不确定这是最优雅的方式......

但是,我基本上跟踪每次推送并将自己弹出到堆栈中,但我存储对象而不是视图。每次从我的堆栈中推送或弹出某些东西时,我都会保存它(不需要时间)。

当应用程序启动时,它会查找堆栈文件,然后执行几次推送(从加载的堆栈中弹出项目),但不会为每个项目设置动画。我的层次结构是(最深的)4 个项目,对用户来说,它看起来只是在对象上打开。

堆栈是从我的根控制器的 viewDidLoad 方法中的文件加载的。

于 2010-03-01T15:13:11.590 回答