启动图像或启动 xib / 故事板?
Posted
技术标签:
【中文标题】启动图像或启动 xib / 故事板?【英文标题】:Launch image or launch xib / storyboard? 【发布时间】:2015-01-17 09:55:53 【问题描述】:我正在尝试完成我的第一个 ios 应用程序以供提交,但在这里我真的很困惑。文档告诉我我需要一个启动图像并给了我 iPhone 6 和 6+ 的尺寸,但随后在几个地方明确指出“需要启动 XIB 或情节提要才能支持 iPhone 6 大小的应用程序。”
我在这里很困惑。如果我需要“启动故事板”,为什么要包含启动图像?我什至还没弄清楚什么是发布故事板......
【问题讨论】:
launch XIB 和 launch storyboard 在低于 iOS 8 的版本中不起作用。如果您的部署目标低于 iOS 8,则应使用不同大小的启动图像。检查这个问题:***.com/questions/27310423/… 哈哈,我也问过这个问题 嗯……我没注意到。无论如何,您只需要知道启动 xib/storyboard 仅适用于 iOS 8。如果您的应用针对 iOS 8,则无需提供启动图像。Apple 文档有时会让人感到困惑。 如果我的目标是 iOS6 及更高版本怎么办? 那么唯一的选择就是以不同的分辨率启动图像。启动图像也适用于 iOS 8。 【参考方案1】:如果您只使用 Xcode 6 和 iOS 8 进行开发,那么您应该使用启动故事板,这样就无需提供多个不同大小的启动图像。
Xcode 6 会在开始新项目时自动生成此故事板,但您可能使用的是旧项目模板。
请参阅此处了解如何使用 Xcode 6 创建启动故事板:http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/
请注意,如果您愿意,也可以使用常规的“单个”XIB 文件来代替整个故事板。我认为 Xcode 6 项目模板为此目的使用了 XIB 文件。
不幸的是,如果您的应用还针对旧版本的 iOS(甚至是 iOS 7),那么您别无选择,只能为所有 iPhone 设备添加启动图像(iPhone 6 除外,它不运行这些版本的iOS,显然)。这很痛苦,但 Apple 做出了正确的举动,为未来的发展提供了这一新功能。
【讨论】:
所以我只需要发布故事板就可以涵盖所有 iPhone 和 iOS 版本吗? 不,不幸的是,并非所有 iOS 版本。启动故事板是 iOS 8 的新功能。如果您想针对旧版本,您仍需要为 iPhone 5S 设备提供启动图像。 所以要支持一切,我需要两者。叹息。 我已更新我的答案以使其更清晰。祝你的发射图像好运!看看这个工具,看看它是否有帮助:ticons.fokkezb.nl 我按照 lib (oleb.net) 中的说明进行操作,但在设备上进行测试时在启动时出现黑屏 - 即使是新项目也是如此。 launchscreen.storyboard 需要 viewcontroller 代码吗?【参考方案2】:根据您在@Romain 的回答下的评论,
所以要支持一切,我需要两者。
不,如果您需要支持一切,请使用启动图像。如果您的应用附带启动图像并使用它们显示启动屏幕,则无需提供启动 xib/storyboard。一个应用只能使用一种方式显示启动屏幕。
【讨论】:
我不确定你是对的。正如我所读到的,xib lanuchimage 指示 iOS 8 不扩展应用程序(在 iPhone 6 和 6+ 中),所以你真的应该两者都做。 我只使用了启动图像。我的应用程序在不同的设备上运行良好。你在哪里读到的?你有任何来源吗? @PaulBrewczynski 你确定它可以工作并且没有缩放吗?引用:“重要您使用启动 XIB 或故事板文件来表明您的应用程序在 iPhone 6 Plus 或 iPhone 6 上运行。” developer.apple.com/library/ios/documentation/UserExperience/… 是的,我确定它是 NOT 缩放的,我绝对知道我在说什么。你为什么不自己测试一下? @PaulBrewczynski 我在我的应用程序中同时使用了这两个版本,但 iOS 8 及更高版本将默认使用 Storyboard。 iOS 7 及以下版本将使用图像。因此,如果您计划仅支持 iOS 7 及更高版本,则需要支持 @2x(640x960:Retina 3.5...运行 iOS 7 的 iPhone 4/4s)的静态品牌资产(启动图像) ) 和 Retina 4(640x1136:运行 iOS 7 的 iPhone 5)。所有其他设备/版本都将使用 LaunchScreen 故事板。以上是关于启动图像或启动 xib / 故事板?的主要内容,如果未能解决你的问题,请参考以下文章