【问题标题】:What's wrong with my asset catalog containing launch images?我的包含启动图像的资产目录有什么问题?
【发布时间】:2017-08-27 08:19:07
【问题描述】:

我在这里没有使用故事板,因为这会分散注意力。相反,我尝试将四个启动图像添加到资产目录:

我的应用不支持 iPad 或 3.5 英寸 iPhone,所以这些应该足够了。可以吗?还是我也需要风景?

以下是每个图像的属性:

以下是文本形式的相同信息:

      filename: LaunchImage.launchimage
      children:                     
                filename: 5.5.png
                idiom: iphone
                subtype: 736h
                scale: 3x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 8.0
                image: 
                       height: 2208
                       width: 1242

                filename: 4.7.png
                idiom: iphone
                subtype: 667h
                scale: 2x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 8.0
                image: 
                       height: 1334
                       width: 750

                filename: 3.5-inch, 2x-1.png
                idiom: iphone
                scale: 2x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 7.0
                image: 
                       height: 960
                       width: 640

                filename: 4.png
                idiom: iphone
                subtype: retina4
                scale: 2x
                orientation: portrait
                extent: full-screen
                minimum-system-version: 7.0
                image: 
                       height: 1136
                       width: 640

以下是我的应用的配置方式:

当我在 iPhone 7 Plus 上运行应用程序时,我看到了 4.7 英寸的启动图像。为什么会发生这种情况,我该如何解决?

我尝试使用纯 PNG 文件而不将它们放入资产目录中,但这也不起作用,正如 this separate question 中所讨论的那样。


请注意,与其他问题不同的是:

  • 我没有使用 xib 或故事板,因为进入这里会分散注意力。

  • 我使用的是封装在资产目录中的 PNG 文件,而不是顶级目录中的纯 PNG 文件。

  • 我只支持 iOS 10 及更高版本,也就是说我不支持 3.5 英寸的手机。

  • 我不支持 iPad。

  • 我正在使用 Xcode 8.3 并在手机上运行 iOS 10.3。

【问题讨论】:

  • 为什么使用启动图像而不是启动屏幕故事板?
  • 我想要仅纵向的启动图像。用故事板可以吗?另一个原因是我的 UI 都是以编程方式构建的,因此要完美地复制它的 Interface Builder 需要付出很多努力,但没有任何好处。更容易截取三个屏幕截图,每个屏幕尺寸对应运行 iOS 10 的 iPhone。
  • 您只需要一个带有标签、滑块和按钮的故事板。我的所有应用程序都纯粹用代码编写,但使用启动屏幕故事板可以轻松支持所有设备和尺寸。并且您的启动屏幕故事板或启动图像与您的应用是否仅纵向无关。这是一个单独的设置。
  • 我的应用程序支持所有三个方向,但我希望启动故事板仅以纵向显示。那可能吗?使用启动图像 - 只需为纵向添加一张,而不要为横向添加一张。
  • 我遇到了类似的问题,并通过为每个分辨率添加启动图像来解决它。我的意思是不同尺寸的相同图像。也许它可以帮助你

标签: xcode xcasset launchimage


【解决方案1】:

我最近遇到了一个与此非常相似的问题,我的 4.7 英寸 iPhone 无法加载 667h 启动图像并回落到它可以的尺寸,即 538h。由于 iOS 使用静态启动图像的存在作为一个在决定以什么分辨率显示应用程序时,应用程序最终在分辨率上都被炸毁了。

听起来您并没有遇到后一种结果,但我可以分享一下我的解决方法:重新评估用于导出这些图像的色彩空间,然后再次尝试导出它们。我无法确定图像成为平台问题的确切原因,但重新导出和清理有帮助。除了色彩空间,您是否使用了“保存为 Web”选项?我还发现这对我们有影响。

【讨论】:

  • 我确实希望 iPhone 7 和 7 Plus 使用 P3 启动图像,理想情况下。否则,当启动图像被应用程序替换时,颜色会出现变化。我没有使用保存为网络。我的启动图像是设备的屏幕截图,因此 iOS 无法使用在 iOS 上拍摄的启动图像是违反直觉的,但下次我会尝试重新导出。
【解决方案2】:

您是否尝试过清理项目和构建文件夹、删除派生数据、从设备中删除应用并重新启动 Xcode?​​p>

听起来可能是个愚蠢的建议,但这在过去为我解决了很多问题。

【讨论】:

  • 我尝试了以上所有方法,但重新启动了 Xcode。下次我会试试的。感谢您的建议
猜你喜欢
  • 1970-01-01
  • 2013-09-26
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
  • 2016-10-16
  • 2015-01-08
相关资源
最近更新 更多