【问题标题】:Add Splash-screen for when App Launches (Even From Multitasking)?在应用程序启动时添加启动画面(即使是多任务处理)?
【发布时间】:2012-09-23 14:56:26
【问题描述】:

我需要为我的应用添加一个简短的启动画面,即使应用从多任务启动时也会出现。

我设法做到了,在我的应用委托中的 - (void)applicationWillEnterForeground:(UIApplication *)application 方法中弹出一个 UIImageView 并在几秒钟后将其淡出。

但是,当从多任务启动时,虽然它看起来和工作得相当好,但有时在图像弹出之前会有短暂的延迟,因此您会短暂看到它背后的视图。

我该如何克服这个问题?

谢谢。

【问题讨论】:

  • 您能解释一下“从多任务启动”是什么意思吗?
  • 该应用程序之前已经打开过,因此当从多任务处理中打开它时,由于应用程序已经加载,您无法看到标准的启动画面,启动表单多任务处理,只是恢复应用程序。
  • @JoshKahane 在为此苦苦挣扎之后,我用我找到的最佳模式回答了我自己的 SO 问题。请看一下 - 有一个小问题,应用程序的根 vc 会出现虚假视图...stackoverflow.com/questions/11697747/….

标签: iphone objective-c ipad splash-screen multitasking


【解决方案1】:

好的,现在我明白了 -

那么你可以尝试使用

 - (void)applicationDidBecomeActive:(UIApplication *)application

【讨论】:

    【解决方案2】:

    如果我理解正确,您只是想创建一个启动图像,对吗?因此,在这种情况下,您只需进入 Supporting Files 中的 info-plist,然后突出显示其中一项并按“+”图标。从下拉菜单中选择“启动图像”,然后在“启动图像”旁边的文本框中输入您的图像名称。

    【讨论】:

      【解决方案3】:

      试试这个。

      创建对视图的引用(如果使用 ARC,则为强引用),以便您持有它。然后在程序中的任何地方创建视图(我猜一开始会很好)。然后,当您从多任务处理返回时,您不需要创建新视图(这可能需要时间),您只需推送您已经在内存中设置的视图。

      假设您还没有这样做,它应该会显着缩短(或消除)您看到的延迟。

      另外,不要忘记将animated: 设置为NO

      【讨论】:

      • 使用'will'方法不会发生任何事情。
      • 我建议使用“Did”方法,而不是“Will”。
      • 糟糕,对不起,我有这样的一天。两种方法都没有运气。
      • 更改了我的答案以尝试另一种方法。
      猜你喜欢
      • 2012-10-19
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多