现在我对launchscreen.storyboard进行了一些测试,发现了一些问题。
- 如果我删除图像视图,启动画面会按预期显示。我只添加了一个标签,这样就可以正常工作。 - 如果我在图像视图中使用系统提供的图像,也能正常工作。但如果使用项目中的图像,则无法正常工作。
你是否遇到了iOS 14和storyboard方法的问题?
如果是的话,你是如何解决的?
一个对我有效的解决方法:
由于某种奇怪的原因,如果我缩小图像的尺寸,它就可以正常工作。我有一个完整尺寸为2732x2732的图片,但它无法正常工作。将同一张图片的大小降低到2400x2400,就可以正常工作了。我尝试了2500x2500和2600x2600,但都不行。
最重要的是,每次更改图片后,我都必须重新启动模拟器才能反映出更新后的图片。
它在真实设备上还没有运行。与模拟器一样,我必须重启设备,然后才能正常工作。
不确定问题是与图像的尺寸/大小有关还是与重启有关。
进一步更新:
我将具有较小图片的相同构建版本上传到TestFlight,并在我的设备上安装它(基本上是从先前具有大尺寸图片的版本进行更新),但不幸的是问题仍然存在:(
现在我所做的是卸载应用程序并再次从TestFlight安装它。问题仍然存在。
最后我不得不删除应用程序,重启设备并重新安装应用程序,这时它才可以正常工作。
这里有很多好的想法,但我最终能够解决问题 - 它更像是一个解决方法。我需要将图片存储在Images.xcassets文件夹之外,然后它又开始工作了。这是一个非常奇怪的问题。
可能的原因之一是图像大小。根据苹果的人机界面指南,iOS 14启动屏幕的图像限制为25 MB。
一个2400x2400像素的图像将会占用大约22 MB 的内存空间。当我们把宽高均为2500像素时,就达到了25 MB的上限。
我们曾经遇到过类似的问题,在像iPhone 12这样的@3x设备上,LaunchScreen.storyboard中的全屏图像全部变成黑色。将仅针对 @3x 的启动图像大小从3072x3072减小到2400x2400就解决了这个问题。
正方形图片可以轻松支持横向和纵向方向。但也应该支持每个方向使用不同的图片,其中一个方向的图片总大小应小于25 MB。
我遇到了同样的问题。问题出在启动屏幕故事板中使用的 .png 图像上。这导致整个启动屏幕都是黑色的。
在我们的情况下,解决方法如下:
我发现通过将应用程序中的该图像替换为另一个图像,可以定位到此图像是错误的根源。不需要重新启动或其他操作,立即就可以使用另一张图像 (不存在此问题)。
对我唯一有效的解决方法是将图像添加到 Images.xcassets
文件夹之外。 进行修改并重建应用程序后,它可以正常工作。
在 iOS 14 或 XCode 12 上可能会出现某些问题。
我也遇到过这个问题,非常恼人。我的启动屏幕只是一个背景图片(2048x2048 PNG)和中间的图形(2048x2048 PNG)。
对我来说解决方法是使用更小的中间图形(720x720 PNG),从任何资源目录中删除图片,并将它们添加到项目中。
在模拟器上,图像直到重新启动后才显示出来。当构建并安装到我的iPhone时,我不需要重新启动它也能正常显示。