【问题标题】:Can I display the launch image every time my app goes into foreground?每次我的应用程序进入前台时,我可以显示启动图像吗?
【发布时间】:2011-11-20 21:34:48
【问题描述】:

对于我的应用程序,在 xcode 4 中,我为启动图像(在目标中)设置了一个 png……但它仅在我第一次启动应用程序时出现;每次都可以出现这个启动图像吗?此外,当我将我的应用程序置于后台并且我不会杀死它时。有可能吗?

【问题讨论】:

  • 我想知道:你为什么想要那个?
  • 嗯,好吧,我已经认为是有原因的。小心解释哪个? :-)
  • 有什么关系?无论如何,蒂姆在下面的回答解释了为什么这是一个坏主意。

标签: ios image xcode4 launch


【解决方案1】:

即使相当多的应用程序有它们,也不应该有启动画面。 Apple 在他们的Human Interface Guidelines 中明确了这一点:

为了增强用户在应用程序启动时的体验,您必须 提供至少一个启动图像。启动图像看起来非常相似 到您的应用程序显示的第一个屏幕。 iOS 显示此图像 当用户启动您的应用程序时,直到应用程序启动 完全可以使用。一旦您的应用程序准备好使用,您的应用程序 显示它的第一个屏幕,替换启动占位符图像。

提供启动图像以改善用户体验。

避免将其作为提供的机会:

“应用程序入口体验”,例如启动屏幕 An About 窗口品牌元素,除非它们是您的静态部分 应用程序的第一个屏幕 因为用户很可能在 应用程序频繁,您应该尽一切努力减少启动 时间最少,你应该设计一个淡化的启动图像 体验而不是引起人们的注意。

一般情况下,设计一个与第一屏相同的启动图像 应用程序。

回答您的问题: 您可以实现UIApplication delegate 以在您的应用已激活或将进入前台时执行操作:

- (void)applicationDidBecomeActive:(UIApplication *)application {

}


- (void)applicationWillEnterForeground:(UIApplication *)application {

}

【讨论】:

  • "一般情况下,设计一个与应用程序的第一个屏幕相同的启动图像。"这是一个糟糕的建议,是的,它来自 Apple。这很糟糕,因为它会让用户相信您的应用程序正在运行但没有响应。当用户点击这个虚拟屏幕上的控件并且没有得到响应时,他可能会终止应用程序并尝试重新启动它。 Apple 拥有先进的触控 UI,但并非所有创意都是好的。远非如此。
  • @OscarGoldman:我不同意。您只需将初始屏幕设计为看起来像应用的停用或加载版本。按钮应停用或不应显示。看看地图或手机应用程序,它们几乎是空的,但没有显示引起注意的启动画面。此外,启动应该不到一秒钟,所以我看不出有什么问题。
【解决方案2】:

这是可能的,但前提是您实际上将其实现为 UIView,当您的应用重新进入前台时,该 UIView 被调用以从您的应用委托进行渲染。

但我会强烈建议不要使用这种做法,因为您会极大地惹恼您的用户,因为每次他们切换回您的应用时,他们都会看到一个启动画面,要求他们等待一秒钟在他们可以继续他们的任务之前。

启动图像仅在应用程序冷启动时使用,以向用户保证应用程序正在加载;不能用作噱头。

【讨论】:

  • 我知道,你是对的,但是有一个重要的原因要成功。然后感谢您的建议
【解决方案3】:

使用委托方法 applicationWillResignActive 并退出(0)您的应用程序 像下面的代码

func applicationWillResignActive(_ application: UIApplication) { 退出(0) }

【讨论】:

    猜你喜欢
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2023-03-28
    相关资源
    最近更新 更多