启动屏故事板未显示图像

249

我试图在Launch Screen.storyboard文件中显示一个图片作为启动屏幕,但是这个图像从未显示出来。我的标签可以正常显示,但是这个图像却没有出现。

下面是Launch Screen.storyboard文件中启动屏幕的外观: 输入图像描述

然而,当我在模拟器上运行应用程序(以及物理设备上)时,它显示的却是这样:

输入图像描述

如您所见,“Test”标签可以正常显示,但是该图像未显示。我真的不知道发生了什么,也无法解决它。如果有人有任何想法可以帮忙解决,将不胜感激。


1
请确保您的图像以正确的 png 格式保存,而不是 jpg - Utkarsh Singh
4
多个截然不同的答案都获得了很多赞,这事实非常令人沮丧。 - user5306470
3
如果图像太大,加载时间过长,是否有可能将其从启动屏幕中丢弃? - Lubbo
3
对我来说解决问题的方法就是退出模拟器,然后重新运行项目。 - Rosalie W
4
哎呀!这个问题还存在。硬重启设备解决了它。 - mccbala
显示剩余3条评论
38个回答

491

在重启Xcode,清理构建以及尝试了一些其他的SO建议后仍无法解决这个问题。事实证明,对我有帮助的是将设备强制重启。(我为此浪费了一个多小时)

我想这只是说明了传统的“关闭并重新打开”对于最新的设备仍然是适用的!

如何重启iPhone XS或iPhone XS Max

  1. 快速按下并释放音量加按钮
  2. 快速按下并释放音量减按钮
  3. 按住侧面按钮直到出现Apple标志

50
这个人是正确的。只要对设备进行硬重启,问题就得到解决了! - Lance Samaria
4
在资产中覆盖图像后,出现了图像未更新的问题。感谢你的提示,完全退出模拟器并重新启动后,预览得到了更新。很奇怪其他方法都似乎没有起作用。 - Kilian
4
谢谢。这也适用于模拟器。重新启动模拟器后,“Launch Scree.storyboard”中的图像最终显示出来了。这绝对是iOS的一个bug。 - Vince Yuan
12
这是2020年,但这仍然解决了我的问题!谢谢! - Bezaleel
4
2020年,它让我在度过新冠肺炎之后几乎要崩溃了,但你也拯救了我。 - Blue Bot
显示剩余18条评论

136
我也曾经为这个问题纠结了好几个小时,不过现在我找到了解决方案。你需要将图像添加到你的项目中,并且通过拖放的方式添加到assets.xcassets文件夹下。

16
这就是问题所在。图片必须同时存在于项目和资产中。这就像打“打地鼠”游戏一样,哪个提示可以解决问题呢?没有人知道。 - FranticRock
2
将图像添加到项目中解决了我的问题 :) - Sneha
4
谢谢,这对我解决问题很有帮助。除此之外,我之前已经根据大小命名了这些图片(launch280.png、launch560.png、launch840.png),并将资产添加到Assets.xcassets中,名称为“launch”。但问题仍未解决。我不得不将图像文件重命名为launch.png、launch@2x.pnglaunch@3x.png,将它们添加到项目中,作为名为“launch”的资产添加,然后它才能正常工作。感谢Apple让简单的事情变得不必要的复杂 ¬_¬ - mashers
9
我这里是第二次来了,距上次已经三年了......现在是2020年4月,XCode还是有这个bug......很不错啊...... - FranticRock
1
似乎这对很多人有帮助,但至少在XCode 12.3中,这种图像的复制是不必要的(请参见Flexicoder的高赞答案)。我只有在xcassets中有图像,并且它们确实出现在启动屏幕上。然而,有时候更改后需要重新启动设备和/或XCode。 - biomiker
显示剩余9条评论

61

我遇到了同样的问题,将图像添加到“Build Phases-> Copy Bundle Resources”中解决了我的问题。


6
这正是我需要的。该图像必须位于主捆绑包中,而不是资产文件中。 - Meonardo
是的,对我来说做到了。 - pbx

35

请按以下步骤操作:

  1. 从设备中删除应用程序
  2. 重新启动设备
  3. 重新构建应用程序

如果还是无法使用,请删除派生数据。Xcode偏好设置->位置选项卡->派生数据。然后按照上述步骤进行操作。


30

这件事情发生在我身上,让我很疯狂,直到我找到解决方法前浪费了几分钟时间。

所以,像之前说的一样:

  1. 将所需的图像导入到您的Xcode项目中(只需拖放即可)
  2. 更改其限制和对齐方式
  3. 更新帧以解决自动布局问题
  4. 在属性检查器标签菜单上(通常在xCode右侧菜单中),在图像视图>图像上,删除图像扩展名(.png或.jpg)-这就是诀窍

在设计屏幕上,它将不会出现,但在运行应用程序时,它将被显示。

我希望这可以帮助到您!


2
在尝试您的解决方案之前,对我很有效!唯一让它显示的方法是重新启动我的手机!谢谢。 - Filipe Sá
确实没错!!诀窍在于从 .png 图像文件中删除图像扩展名!.jpg 文件无法正常工作,所以我不得不首先将它们转换为 .png 格式!非常感谢 Jhnosore! - ActiveA

29

非常令人沮丧。最终有效的解决方案:

  1. 对设备进行硬重启

  2. 删除应用程序

  3. 从Xcode安装应用程序


24

最后,重启手机成功解决了我的问题!!

我花费了数小时的时间来解决这个问题。试过更改图像名称、删除整个图像资产、修改info.plist、重启Xcode甚至尝试设置图像的所有属性(您可以想象我有多绝望)。


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Adam Richardson
1
抱歉 @AdamRichardson,它提供了一个答案,而且是正确的,这也是我的情况。我只需要重新启动手机/模拟器即可。 - Kegham K.
1
我花了16个小时来解决这个问题,最终重新启动手机才解决了问题。 - RK-
3
我打赌苹果公司里的某个人一定在想:“哦,他们只需要重新启动手机 - 这不会影响正式版产品,我们可以将这个任务留到以后再解决。” - dinesharjani
最终,重新启动手机解决了这个问题。 - Taylor Maxwell
我们已经到了2023年中期,但我们还没有重新启动iPhone...顺便说一句,谢谢! - Alexnnd

19

经过投入大量时间,我得到了解决方案:-

Step 1:- Quit Xcode
Step 2:- Delete the app from device/simulator
Step 3:- Restart your device (if you are using simulator then you have to quit simulator)
Step 4:- Clear all derived data 
Step 5:- Clear Bin
Step 6:- Open Xcode and relaunch the app, it will work 

17

我遇到了同样的问题。

  1. 在XcodeAssets中添加一个新的imageset。
  2. 向imageset中添加图像。
  3. 将图像视图添加到启动屏幕,并将您的imageset设置为图像。
  4. 在ImageView的属性检查器中,取消选中“清除图形上下文”。
  5. 清理构建文件夹并重新运行。

enter image description here


谢谢,超级感谢你。我总是回来看你的评论,这让我疯狂了。你的修复方法对我很有效。 - Zaky Putra
取消选中“清除图形上下文”对我很有帮助! - Leon Jakonda
我不得不删除应用程序并重新启动手机,除了这些步骤之外,但是它起作用了。谢谢伙计。 - Talha Jutt

15

这个问题与 Assets.xcassets 相关,要解决它,您必须将图像作为资源添加,但不要放在 xcassets 文件夹中,那么应该就可以正常工作了。


2
到目前为止,这是唯一有效的解决方案。重新启动Xcode、清除派生数据、更改图像名称都没有起作用。我不建议将重启设备作为任何人的解决方案。 - NightFury
这个 bug 和 xcassets 的创建一样古老。我在心里把它归到了“苹果永远不会解决的问题”文件夹里。 - Duck

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