启动屏幕故事板不显示图像

问题描述 投票:93回答:29

我正在尝试从Launch Screen.storyboard文件中将图像显示为启动屏幕,但图像从不显示。我有很好的标签,但图像没有显示。

这是启动屏幕在Launch Screen.storyboard文件中的外观:enter image description here

但是,当我在模拟器(以及物理设备)上运行应用程序时,这就是显示的内容:

enter image description here

如您所见,标签“Test”显示正常,但图像不显示。我真的不确定为什么会这样,我尝试的任何东西似乎都没有用。如果有人对如何解决这个问题有任何想法,将不胜感激。

ios iphone xcode
29个回答
205
投票

重新启动Xcode后,清理构建和关于此问题的其他一些建议。实际上为我修复的是设备的硬重启。 (我浪费了一个多小时)

我想它只是表明,你说过它已经关闭了,并且对于最新的小工具仍然是真的!

如何硬重置iPhone XS或iPhone XS Max

  1. 快速按下并释放音量调高按钮
  2. 快速按下并释放音量调低按钮
  3. 按住侧面按钮,直到出现Apple徽标

6
投票

我遇到了同样的问题。

  1. 将新图像集添加到Xcode Assets。
  2. 将图像添加到图像集。
  3. 将图像视图添加到启动屏幕并将图像集设置为图像
  4. 在Imageview的属性检查器上,取消选中“清除图形上下文”
  5. 清理构建文件夹并再次运行。

enter image description here


5
投票

重新启动设备并清除x-code派生数据


4
投票

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


3
投票

将图像添加到项目并关闭设备后问题解决了,我遇到了这个问题


2
投票

您必须确保图像的文件名最后具有.png或.jpg等格式,否则将无法使用。此外,在添加图像之前,您必须确保图像文件位于项目中的“Assets.xcassets”文件夹中。这可以通过简单的拖放来完成。此外,请确保将图像添加到故事板时,左上角的图像名称也与实际图像文件名匹配。我也会尝试研究约束。希望这可以帮助。祝你的应用好运。


2
投票

在最终意识到我的错误之前,我在这个问将图像添加到UIImageView时,它将仅使用图像的名称。如果您的图片位于与故事板不同的文件夹中,则它们将显示在xcode中,但不会在运行应用时显示。您必须添加适当的文件路径前缀,例如images / image.png。现在它将在xcode中显示为蓝色问号,但它可以在应用程序中运行。


2
投票

正在更改启动画面的背景图像并且未显示新图像(反应原生项目)。

听取别人的答复。

我做了以下所有事情并且修复了:

  • 清洁构建。
  • 从模拟器中删除应用程序
  • 退出模拟器
  • 重启XCode
  • 再次运行应用程序

2
投票

那么现在有视网膜设备可用,我忽略了@1x中的Assets.xcassets图像。

在我的情况下,我在Splash屏幕上有app徽标,当我运行应用程序时看不到它。

在浪费了这么多时间后,我发现我只为该徽标图像提供了@2x@3x图像。

通过添加该图像的@1x版本可以解决此问题。


2
投票

只是为了这个问题增加0.02美元;我通过使用PNG图像而不是JPG / JPEG图像解决了这个问题。

将图像转换为PNG并将其缩小以缩小尺寸后,一切正常。


1
投票

我遇到了同样的问题。尝试了不同的解决方案,但没有任何证据是有帮助的。然后我意识到只有当我将应用程序直接安装到设备中并且应用程序仍然连接到xcode时,图像才不可见。如果我断开它,然后打开应用程序,图像是按预期可见的。它可能是一个xcode错误。


65
投票

我也在忙着这几个小时。但我现在找到了解决方案。您需要通过拖放将图像添加到项目以及assets.xcassets。


1
投票

在几个StackOverflow线程上尝试了所有内容后,这对我有用:

  • 使用.png
  • 不要将它包含在您的资产目录中。直接将其添加到项目的层次结构中,就像添加任何源文件一样。
  • 在图像视图中,加载图像,包括其扩展名。示例:launch_app_image.png

(可能需要清理产品或派生数据才能更新,但我没有必要)


1
投票

在我的特定情况下,启动屏幕适用于模拟器和其他设备,但停止为一个特定设备工作。这让我相信这是xcode(v10和iPhone 7 v12.1)保留的一些缓存数据。

我在以下位置删除了派生数据:~/Library/Developer/Xcode/DerivedData/只清空文件夹内容,而不是删除文件夹。然后我重新启动了mac和iPhone并清理并重建了项目,现在它正在显示。

我不确定是否所有这些都是必要的,但不想再浪费时间缩小它,所以上面的大锤方法对我有用。但当然它总是取决于你的具体情况 - 我的设备是特定的;对于其他人来说,它可能是实际图像或发布屏幕布局等。


0
投票

我刚想通了。我的启动图像没有显示,我在设备(iPhone 6,7 +)或testFlight上启动时会出现白屏。修复:将“Landing_screen.png”重命名为“Landing_screen”,删除.png部分。 Xcode中的图像图标更改为白色图标,并且在启动屏幕故事板中,图像现在显示为问号。现在出现启动图像,而不是白色屏幕。我的设置:我使用Swift 3.1和Xcode 8.3.1。在LaunchScreen.storyboard中,我添加了一个简单的图像视图并拉伸图像以适合视图控制器。我将自动布局约束顶部/底部/前导/尾随空间设置为superview为0 - 请参见下图:

enter image description here


0
投票

在我的情况下,事实证明我有一些视图仍然链接到视图控制器,现在只是一个基本的视图控制器。如果我控制 - 点击视图我可以看到带有警告的插座,但是,Xcode中没有出现警告,这就是我找不到它们的原因。


0
投票

这恰好是XCode / iOS中的缓存问题,但是有一个简单的解决方法:只需重命名Assets.xcassets中的文件,以便重新生成缓存。


0
投票

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

我刚制作了一个图像副本并重命名了副本然后删除了旧图像并添加了新图像(相同,名称已更改)我刚刚给出了该图像,它对我有效。

此外,我没有使用Assets.xcassets,使用文件夹中的图像。


0
投票

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

经过无数个小时,我发现A.G.在这个帖子中的回答是正确的。我做错的一件事是我在xcassets中创建了一个新的图像集,但我当时仍在故事板内的UIImageView中使用图像的名称,而不是使用图像集的名称。

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

当您完成所有这些操作后,图像实际上应该在故事板中正确显示。有人说如果不使用扩展名(.jpg或.png),图像将显示为空白,但我认为这是因为他们没有使用图像集的名称。其他人说你需要使用像.png或.jpg这样的扩展,但关键是要在xcassets中创建图像集,然后在故事板内使用该图像集。正确完成后,应该没有像图像没有显示或启动屏幕只在某些时候工作(需要重新启动)的funkiness。


0
投票

我的第一个错误是,我创建了一个普通的.storyboard,将其重命名并在项目设置中将其定义为启动画面。我这个例子我有图像问题。在这种情况下似乎缺少一些设置,所以我只是通过file-> new创建了一个新文件并直接选择了“启动屏幕”,然后就可以了。

另外我还记得,由于某些原因,启动屏幕不支持布局约束。也许它在开始时就是这样,不确定,但现在约束应该起作用。

也许这有助于任何人。


0
投票

我在使用launch-storyboard显示启动画面时遇到了同样的问题,经过研究后我发现我在launch-storyboard中设置的图像尺寸不同,我设置的图像视图比图像的实际尺寸大。

所以我找到的解决方案是将图像视图内容大小设置为宽高比适合或将图像视图大小设置为图像大小。

就像你的图像@ 1x尺寸是200X200而不是图像视图应该是200X200而不是你将解决这个问题。

因为如果您将图像视图大小设置为大于图像,则图像将进行标记,这是不允许的。

如果您还有任何疑问,请在这里发表评论并询问


0
投票

就我而言,它不仅仅是重启设备。我的启动图像存储在其他资产(其他窗格)中。

不得不将图像移动到App项目的资产。然后重新启动我的设备。 (首先检查模拟器,它应该工作)。然后它奏效了。

图像格式为png / pdf,单一尺度与否无关紧要。


32
投票

有同样的问题,将图像添加到“Build Phases - > Copy Bundle Resources”中为我修复了它。


23
投票

它发生在我身上,让我发疯,除了让我失去一些时间,直到我弄明白。

所以,就像之前所说:

1 - 将所需图像导入xCode项目(只需将其拖放)

2 - 更改其约束和对齐

3 - 更新解决自动布局问题的帧

4 - 在“属性”检查器选项卡菜单中(通常在右下角菜单xCode中),在“图像”视图>“图像”上,删除图像扩展名(.png或.jpg) - 这就是技巧

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

我希望它可以帮助你!


17
投票

很沮丧。最终解决方案:

  1. 做硬重启设备
  2. 删除应用
  3. 从Xcode安装应用程序

13
投票

按照以下步骤,

  1. 从设备中删除应用程序
  2. 重启设备
  3. 再建一次

如果不起作用,请删除派生数据。 Xcode首选项 - >位置选项卡 - >派生数据。然后按照上述步骤操作。


11
投票

这个问题与Assets.xcassets有关,要修复它你必须将图像作为资源添加但不能在xcassets文件夹中添加,然后才能正常工作


11
投票

最后,重新启动手机为我工作!!

我在这个问题上花了好几个小时。曾尝试更改图像名称,删除整个图像资源,修改info.plist,重新启动Xcode甚至尝试设置图像的所有属性(你可以告诉我有多绝望)。


6
投票

在我的情况下,重置模拟器的内容和设置修复了问题。

© www.soinside.com 2019 - 2024. All rights reserved.