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

时间:2016-04-16 20:24:45

标签: ios iphone xcode

我尝试从Launch Screen.storyboard文件中将图像显示为启动画面,但图像从不显示。我的标签看起来很好,但图像没有出现。

这是启动屏幕在Launch Screen.storyboard文件中的显示方式: enter image description here

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

enter image description here

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

36 个答案:

答案 0 :(得分:191)

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

我想这只是为了证明那句老话让你把它关掉再打开对于最新的小玩意来说仍然是真的!

如何硬重置iPhone XS或iPhone XS Max

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

答案 1 :(得分:59)

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

答案 2 :(得分:32)

出现同样的问题,将图像添加到"构建阶段 - >复制捆绑资源"为我修好了。

答案 3 :(得分:23)

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

所以,就像之前说过的那样:

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

2 - 更改其约束和对齐

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

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

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

我希望它可以提供帮助!

答案 4 :(得分:16)

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

  1. 重启设备

  2. 删除应用

  3. 从Xcode安装应用程序

答案 5 :(得分:12)

按照以下步骤

  1. 从设备中删除应用程序
  2. 重启设备
  3. 再次构建
  4. 如果不起作用,请删除派生数据。 Xcode首选项 - > Locationtab->派生数据。然后按照上述步骤操作。

答案 6 :(得分:10)

最后,重启电话对我有用!

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

答案 7 :(得分:10)

此问题与 Assets.xcassets 有关,要解决此问题,您必须将图片添加为资源但不能添加到 xcassets 文件夹中,然后才能正常工作

答案 8 :(得分:7)

花费大量时间后,我得到了解决方案:-

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 

答案 9 :(得分:6)

我遇到了同样的问题。

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

答案 10 :(得分:5)

就我而言,重置模拟器的内容和设置可以解决问题。

答案 11 :(得分:5)

重新启动设备并清除x代码衍生的数据

答案 12 :(得分:4)

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

答案 13 :(得分:3)

将图像添加到项目中并击落问题解决的设备后,我遇到了问题

答案 14 :(得分:2)

目前已有视网膜设备可用,我忽略了@1x中的Assets.xcassets图像。

在我的情况下,我在启动画面中有应用徽标,当我运行应用程序时,该徽标无法显示。

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

  

通过添加该图片的@1x版本解决了此问题。

答案 15 :(得分:2)

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

答案 16 :(得分:2)

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

答案 17 :(得分:1)

正在更改初始屏幕的背景图像而没有显示新图像(反应本机项目)。

遵循别人的答案。

我做了以下所有操作,并且已修复:

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

答案 18 :(得分:1)

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

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

我不确定是否所有这些都是必要的,但是不想浪费更多时间来缩小范围,因此上述大锤方法对我有用。但是,当然,它始终取决于您的具体情况-我的是特定于设备的;对于其他人,则可能是实际图像或启动屏幕布局等。

答案 19 :(得分:1)

只需在此问题上加上我的0.02美元即可;我通过使用PNG图像而不是JPG / JPEG图像解决了这个问题。

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

答案 20 :(得分:1)

在几个StackOverflow线程上尝试了所有方法之后,这对我有用:

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

(可能必须清洁产品或派生数据以进行更新,但我不必这样做)

答案 21 :(得分:1)

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

答案 22 :(得分:0)

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

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

我也不使用Assets.xcassets,而是使用文件夹中的图像。

答案 23 :(得分:0)

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

答案 24 :(得分:0)

我为此尝试了很多事情(仅此线程似乎就有一百万个想法,其中一半是冲突的)。对我来说,问题是当我执行诸如重启设备和Xcode之类的操作时,它将导致该图像在该应用的几次会话中显示,然后它将停止(我不知道为什么,但是哇,这很烦人)

无数小时后,我发现A.G.在此主题中的答案是正确的。我做错的一件事是我在xcassets中创建了一个新的图像集,但是那时我仍然在情节提要内部的UIImageView中使用图像的名称,而不是使用图像集的名称。

为澄清起见,您要做的是创建一个新的图像集并将其命名为“启动默认值”,然后将图像添加到其中。然后,在情节提要板的UIImageView中,使用图像“ Launch-Default”(不包含扩展名,因为没有扩展名,因为这是图像集)。

完成所有这些操作后,图像实际上应该正确显示在情节提要中。有人说如果不使用扩展名(.jpg或.png),图像将显示为空白,但是我认为这是因为他们没有使用图像集的名称。其他人则说,您需要使用.png或.jpg之类的扩展名,但关键是要在xcassets内部创建图像集,然后在情节提要中使用该图像集。正确完成后,就不会出现类似图像未显示或启动屏幕仅在某些时间起作用(要求重新启动)的麻烦事。

答案 25 :(得分:0)

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

答案 26 :(得分:0)

我的第一个错误是,我创建了一个普通的.storyboard,将其重命名并在项目设置中将其定义为启动屏幕。在这种情况下,我遇到了图像问题。在这种情况下,似乎缺少某些设置,因此我只是通过file-> new创建了一个新文件,然后直接选择“启动屏幕”,然后它开始工作。

我还牢记,由于某种原因,启动屏幕中不支持布局约束。也许一开始就是这样,不确定,但是现在约束应该起作用了。

也许这可以帮助任何人。

答案 27 :(得分:0)

在使用启动故事板显示初始屏幕时我也遇到了同样的问题,经过研究,我发现我在启动故事板中设置的图像大小不同,并且将图像视图设置为大于实际大小图片。

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

如果您的图片@ 1x大小为200X200,则图片视图的大小应为200X200,这样您就可以解决此问题。

因为如果您将图像视图的尺寸设置为大于图像,则图像会出现糊状,这是不允许的。

如果您仍有任何疑问,请在此处评论并询问

答案 28 :(得分:0)

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

必须将图像移动到App项目的资产。 然后重新启动我的设备。 (首先检查模拟器,它应该可以工作)。 然后它起作用了。

图像可以为png / pdf格式,单倍缩放与否无关紧要。

答案 29 :(得分:0)

我的问题。

原因:我将图像拖入Xcode后重命名了。 解决方案:拖入Xcode后不要重命名图像。它为理解Xcode带来了问题。在拖动/添加到Xcode之前重命名图像。

希望它可以帮助您!

答案 30 :(得分:0)

我有名为的启动屏幕文件,但它不存在。当我删除此图像时,出现了我的启动图像。

答案 31 :(得分: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

答案 32 :(得分:0)

实际上,对于某些重量级图像,将它们添加到images.xcassets中并不是一个好情况,因为该应用在启动前会加载images.xcassets个轻量级图像。因此,我将启动屏幕图像放在负载的第一根,然后问题就消失了:

  1. 在项目的根目录中创建一个新的 Group
  2. 将图像拖放到黄色组文件夹中
  3. 重命名为其他特殊名称
  4. 返回您的xib(或情节提要)文件,并将 ImageView 寻址为在步骤 3 中使用的特殊名称。
  5. 清洁并重新构建,然后您可以看到图像。

提示:您可以在images.xcassets中创建 ImageSet ,但可以将它们放置在项目的根目录中。

答案 33 :(得分:0)

在我的情况下,我可以通过从属性检查器中取消选中 Launchscreen 故事板中使用的所有图像视图的“清除图形上下文”来修复它。

为了您的信息,我在 Assets.xcassets 中以 png 格式导入了图像。

答案 34 :(得分:0)

就我而言,我必须选择两个复选标记:

  • 用作启动屏幕
  • 是初始视图控制器

Use as Launch Screen

enter image description here

答案 35 :(得分:0)

将图像作为常规文件导入对我有用。不要从资产目录中添加图片!

enter image description here

enter image description here