2012-03-14 81 views
0

我正在开发使用故事板的iPhone(iOS 5+)应用程序。该应用程序的第一个屏幕是一个飞溅/登录屏幕,用于检查Facebook凭据,并允许您阅读并接受条款和条件。如果存在有效的存储凭证并且TOC先前已被接受,则此视图会自动对第一个“真实”应用视图(具有三个选项卡的标签栏控制器)进行模式轮播(使用交叉解除效果)。iOS:当应用程序返回前台时恢复先前可见的视图?

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

这是为什么?据我所知,背景应用程序应该只是在屏幕上可见的屏幕截图(例如,点击主屏幕按钮时),并在恢复实际视图功能以恢复实际视图功能时返回前台。在这种情况下,这将是标签栏控制器的选项卡之一。登录界面和标签栏控制器之间的模式在这里是罪魁祸首,还是别的?

(我一直觉得交叉溶解模态从登录屏幕延续到第一个“有用的”屏幕有点肮脏,因为恕我直言,模态赛格似乎暗示着你的继续是你的东西然后退出回到“from”屏幕,我现在正在做的就是让模态segue的目标无限期地可见,如果这是这个问题,如果有人会提出更好的方法显示,转换和“放弃”登录屏幕)。

回答

1

好的,原来这只是一个关于Default.png的模拟器/设备差异。关于另一个问题的This comment使我想检查。时间提交错误报告。

0

如果我没有记错,苹果有一些旧的演示代码,它可以“记住”导航控制器在进入背景之前显示哪个视图。通过免责声明,我没有使用故事板,所以我不知道你做什么的具体细节。

如果是我,我会在启动时创建视图控制器或控制器,然后只在应用程序委托的逻辑认为有必要时添加登录屏幕。只有在设置了视图层次结构后,我才能展示所有内容。

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

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

相关问题