iOS:当应用程序返回前台时,恢复以前可见的视图



我正在使用情节串连板开发iPhone(iOS 5+)应用程序。该应用程序的第一个屏幕是启动/登录屏幕,用于检查Facebook凭据,并使您能够阅读和接受条款和条件。如果存在有效的存储凭证,并且TOC先前已被接受,则此视图会自动对第一个"真实"应用程序视图(一个具有三个选项卡的选项卡栏控制器)进行模式分段(使用交叉分解效果)。

我目前正在实现背景和前景逻辑。问题是,当按下主页按钮然后返回时,在恢复正确的预备份视图之前,登录屏幕会短暂显示。(应用程序的Default.png是登录屏幕的背景,所以它可能是实际登录屏幕的后台时间屏幕截图;我还没有测试过替换Default.png来区分区别。)

为什么会这样?据我所知,后台应用程序应该只在点击主页按钮时对屏幕上可见的视图进行屏幕截图,并在返回前台时恢复实际视图功能之前进行恢复。在这种情况下,这将是选项卡栏控制器的一个选项卡。登录屏幕和选项卡栏控制器之间的模式分段是罪魁祸首,还是其他原因?

(我一直觉得从登录屏幕到第一个"有用"屏幕的交叉分解模式分段有点脏,因为IMHO模式分段似乎意味着你的分段是你以后会忽略的,回到"from"屏幕我现在所做的只是让模态分段的目标无限期地可见。如果这就是问题所在,我希望有人能提出一种更好的方法来显示、转换和"放弃"登录屏幕。)

好吧,原来这只是关于Default.png的模拟器/设备差异。对另一个问题的评论让我想核实一下。是时候提交错误报告了。

如果我没记错的话,苹果有一些旧的演示代码,它"记得"导航控制器在进入后台之前显示的视图。

作为免责声明,我没有使用过故事板,所以我不知道你想做什么的细节。

如果是我,我会在启动时创建一个或多个视图控制器,然后只有在应用程序代理的逻辑认为必要时才添加登录屏幕。只有这样,在设置了视图层次结构之后,我才能呈现所有内容。

这实现了两件事。我的登录屏幕仅存在,并且在必要时可见。此外,登录屏幕不会突然闪烁。哦,作为第三个好处,你可以提出任何你喜欢的观点。

假设前面提到的演示代码不适用于您,我建议您将当前可见视图的某种引用、标记或ID保存在NSUserDefaults中,并在启动时设置视图层次结构时读取。

相关内容

  • 没有找到相关文章

最新更新