0

我正在尝试步入 iOS6 的新状态恢复功能。我有一个使用 Storyboard 的现有基于 TabBar 的应用程序。我设置了根标签栏和故事板加载的每个顶级视图控制器的恢复 ID,包括嵌入式导航控制器。

我通过应用程序委托选项选择加入。然后,当我选择另一个选项卡栏视图时,发送到后台并通过 Xcode 停止并重新启动,我得到以下行为。

它按预期启动到先前选择的屏幕,但稍后它切换到主(主)屏幕。

我的理解是,如果它是选项卡栏控制器,只需设置根控制器,我就可以在没有任何代码的情况下恢复选定的索引。

如果我使用标签栏控制器模板创建一个全新的项目,这没有问题,即它恢复选定的控制器并保持此选择。

我尝试注释掉我的整个常见启动选项,整个视图确实加载/确实出现在主视图控制器上,认为它在某种程度上产生了影响,但结果是一样的。

什么是进一步调试的好方法?注意:我没有实现任何视图控制器特定的状态更改。在这种情况下,我只是想记住最后选择的视图作为起点。我尝试了不同的视图作为退出点,结果是相同的,无论最后一个视图在启动时短暂显示,然后切换到主屏幕。

顺便说一句,注意到 WWDC 2012 视频正在演示强制退出以测试现在不起作用的状态恢复。根据文档,这将清除状态,这就是我的经验。我按照文档中的建议通过 Xcode 停止。

4

1 回答 1

0

我忘记了我暂时将返回设置为 no 以下选择加入方法。我的错。有趣的是,如果我将此设置为 NO,它会暂时返回最后一个屏幕的闪烁……

-(BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder {

return YES;

}

于 2012-10-11T15:55:35.723 回答