我正在尝试从我的启动屏幕中获得一个图像来显示为启动屏幕。故事板文件,但图像从不显示。我有标签显示良好,但图像不出现。

这是启动屏幕在启动屏幕中的外观。故事板文件:

然而,当我在模拟器(以及物理设备)上运行应用程序时,显示如下:

如您所见,标签“Test”显示良好,但图像没有显示。我真的不知道为什么会发生这种情况,我尝试的任何方法似乎都不起作用。如果任何人有任何关于如何解决这个问题的想法,这将是非常感激的。


当前回答

我尝试了很多东西(这个线程似乎有一百万个想法,其中一半是相互冲突的)。我的问题是,当我重新启动设备和Xcode时,它会导致图像在应用程序的几个会话中显示,然后它会停止(我不知道为什么,但哇,这很烦人)。

过了无数个小时,我发现a。g的答案是正确的。我做错的一件事是我在xcassets中创建了一个新的图像集,但我仍然在使用故事板中的UIImageView中的图像名称,而不是使用图像集的名称。

为了澄清,你要做的是创建一个新的图像集,并将其命名为“Launch-Defaults”,然后将你的图像添加到它。然后,在故事板的UIImageView内部,你使用图像“Launch-Default”(不包括扩展,因为没有,因为这是一个图像集)。

When you do all of that, the image should actually appear correctly inside of your storyboard. Some people say the image will display blank if you don't use the extension (.jpg or .png), but I assume that is because they are not using the name of the image set. Others say you need to use an extension like .png or .jpg, but the key is to create the image set inside of xcassets and then use that image set inside of the storyboard. When done correctly, there should be no funkiness like an image not showing up or the Launch Screen only working some of the time (requiring a reboot).

其他回答

非常令人沮丧。最终成功的解决方案:

是否硬重启设备 删除应用程序 从Xcode安装app

xCode中的资源缓存似乎有一些问题。有同样的问题,重新启动xCode和一切工作正常之后。

对我来说,这不仅仅是重启设备那么简单。 我的发射图像存储在其他资产(其他Pods)。

不得不将图像移动到应用程序项目的资产。 然后重启了我的设备。(首先检查模拟器,它应该工作)。 然后就成功了。

图片可以是png/pdf格式,单比例或不重要。

在我的案例中有两个问题解决了它:

似乎有1MB的图像大小限制;没有文档,但当我优化相同的图像从3MB到1MB以下,它工作。这是有意义的,因为操作系统希望启动屏幕尽可能轻。 操作系统确实积极缓存启动屏幕!为了看到我的启动屏幕变化,我必须每次重置模拟器:Device > Erase所有内容和设置

我尝试清理项目,删除png,删除约束,但对我来说没有用。

我只是做了一个图像的副本和重命名的副本,然后删除旧的图像,并添加了新的图像(相同,与名称更改),我只是给了那个图像,它为我工作。

我也没有使用资产。Xcassets,使用文件夹中的图像。