我的资源目录包含启动图像,有什么问题?

3

出于分散注意力的原因,我这里没有使用故事板。我相反地试图将四个启动图像添加到资源目录中:

enter image description here

我的应用程序不支持iPad或3.5英寸的iPhone,所以这些应该就足够了。这样可以吗?还是我需要横屏模式?每个图像的属性如下:

enter image description here

enter image description here

enter image description here

enter image description here

这里是以文本形式呈现的相同信息:

      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

这是我的应用程序的配置方式:

enter image description here

当我在iPhone 7 Plus上运行应用程序时,我看到4.7英寸的启动图像。为什么会这样,我该如何解决?
我尝试使用普通的PNG文件而不将它们放入资产目录中,但是这也不起作用,正如这个单独的问题中所讨论的那样。
请注意,与其他相关问题不同的是:
  • 我没有使用xibs或storyboards,原因会分散注意力。

  • 我使用包含在资源目录中的PNG文件,而不是顶级目录中的普通PNG文件。

  • 我仅支持iOS 10及以上版本,这意味着我不支持3.5英寸手机。

  • 我不支持iPad。

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


为什么要使用启动图像而不是启动屏幕故事板? - rmaddy
你只需要一个带有标签、滑动条和按钮的单一故事板。我所有的应用都是纯粹使用代码完成,但使用启动屏幕故事板使其易于支持所有设备和尺寸。而你的启动屏幕故事板或启动图片与你的应用是否仅支持竖屏没有关系。这是一个独立的设置。 - rmaddy
我的应用程序支持所有三个方向,但我希望启动故事板仅在纵向显示。这可能吗?使用启动图像是可以的 - 只需添加一个纵向的图像而不是横向的图像即可。 - Kartick Vaddadi
这比那更为复杂。让我们聊一聊:http://chat.stackoverflow.com/rooms/info/139717/chat-with-rmaddy - Kartick Vaddadi
1
我之前遇到过类似的问题,通过为不同分辨率添加启动图片来解决了这个问题。我的意思是用相同的图片但不同的尺寸。也许这可以帮到你。 - Rodrigo de Santiago
显示剩余4条评论
2个回答

0

我最近遇到了一个非常类似的问题,我的4.7英寸iPhone无法加载667h启动图像,只能回退到它可以使用的538h。由于iOS使用静态启动图像的存在作为其决定显示应用程序分辨率的因素之一,该应用程序最终以高分辨率放大的形式呈现出来。

听起来你好像没有遇到后者的后果,但我可以分享我的解决方法:重新评估你用于导出这些图像的颜色空间,并尝试重新导出它们。我无法确定图像为什么会对平台造成问题的确切原因,但重新导出和清理有所帮助。除了颜色空间外,你是否使用了“保存为Web选项”?我也发现这影响了我们的事情。


我希望iPhone 7和7 Plus使用P3启动图像,否则当启动图像被应用程序替换时,颜色会出现偏移。我没有使用“保存为Web”选项。我的启动图像是从设备截屏的,因此iOS无法使用在iOS上拍摄的启动图像,这有些违反直觉,但下次我会尝试重新导出。 - Kartick Vaddadi

0

你尝试过清理项目和构建文件夹、删除派生数据、从设备中移除应用并重新启动Xcode吗?

这听起来可能是一个愚蠢的建议,但在过去这个方法已经解决了很多问题。


我尝试了上述所有方法,但没有重启Xcode。下次我会试一下这个方法。感谢您的建议。 - Kartick Vaddadi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接