iPhone X:使用了错误的启动屏幕方向

Posted

技术标签:

【中文标题】iPhone X:使用了错误的启动屏幕方向【英文标题】:iPhone X: Incorrect launch-screen orientation used 【发布时间】:2017-09-17 11:57:28 【问题描述】:

我正在 iPhone X 上测试图像启动屏幕并遇到了一个奇怪的行为。所以我想在打开雷达之前请求一些反馈:

我创建了尺寸为1125 x 2436 Pixel(纵向)和2436 x 1125 Pixel(横向)的纵向和横向启动屏幕。然后我将它们添加到资产目录中,它们被正确拾取:

到目前为止一切顺利。然后我在 iPhone X 模拟器上运行该应用程序(我之前已重置该应用程序以确保没有缓存任何内容)并显示(拉伸的)横向图像。

我验证了 png 源具有有效的非 alpha 背景,但仍然无法显示正确的启动屏幕。我注意到肖像图像甚至没有复制到生成的产品中:

所以这可能表明 Xcode 9 存在问题。任何反馈都非常受欢迎,谢谢大家!

编辑:旁注:从资产目录中删除横向图像时,会正确复制和拾取纵向图像。

更新 2017 年 9 月 29 日:Apple 确认这确实是 Xcode 中的一个问题,并将提供给相关的工程团队。

【问题讨论】:

我有同样的错误,如果你使用模拟器并进行旋转,你可以看到麦克风也旋转!在这种情况下,底部显示的安全区域怎么样!?错误? “Apple 确认这确实是 Xcode 中的一个问题,并将提供给相关的工程团队。” 很高兴这次更新。 【参考方案1】:

对于 iPhone X,请尝试使用启动屏幕故事板而不是启动图像。

Apple 开发者网站上新的“为 iPhone X 构建应用程序”视频中提到了这一点:https://developer.apple.com/videos/play/fall2017/201/

(在 2:50 标记处提到。)


要设置启动屏幕故事板,请创建故事板文件并从项目设置的“启动屏幕文件”下拉菜单中选择它。

【讨论】:

不确定这是真的还是他们改变了主意,否则他们不会提供使用图像启动屏幕的选项。 iPhone X 的软件在今年晚些时候发布之前仍将发生变化。我链接的视频是我能找到的与您的问题相关的最官方和最新的资源。使用启动故事板对您有用吗? 是的,故事板工作正常。但在我的情况下,它通常必须为这两种情况工作 - 复杂的原因:-)。如果它与您相关,请复制 openradar.appspot.com/radar?id=6124283306704896 以引起注意。我正在等待本周来自 Apple 的反馈。 当您创建新的 LaunchImage 集时,您可以看到用于添加 LaunchImage 的新 iPhoneX 选项。所以你不必使用故事板(但也许这个选项更好......?) @Beber 在我上面回答中链接的 Apple 视频中,他们特别提到添加启动故事板以确保您的应用在 iPhone X 上运行。【参考方案2】:

这最终在 Xcode 9.1 Beta 2 及更高版本中得到修复!

【讨论】:

【参考方案3】:

至少在模拟器上,仅使用纵向图像(而不使用横向图像)似乎可行。无论如何,iPhone X 只能从纵向启动应用程序。不知道此解决方案是否会在实际设备上产生问题(撰写本文时 iPhone X 尚不可用)。我猜它不会。

【讨论】:

【参考方案4】:

这显然是一个 xCode 9 错误,我有同样的问题,资产的文件名也不正确,按照以前的命名约定,必须有 2 个文件,LaunchImage-1100-Portrait-2436h@3x.png 和LaunchImage-1100-Landscape-2436h@3x.png (注意为什么是 2436h 而不是 812h,所有其他分辨率都以点而不是像素表示)

【讨论】:

以上是关于iPhone X:使用了错误的启动屏幕方向的主要内容,如果未能解决你的问题,请参考以下文章

支持iPhone 6和iPhone 6+,具有不同的启动/启动屏幕图像,适用于iPad纵向和横向方向

UI: 概述, 启动屏幕, 屏幕方向

iPhone 方向问题

Cordova 3.5.0 中的 iPhone 屏幕方向没有改变

Xcode 6 自定义启动屏幕

高度百分比不适用于纵向屏幕方向