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

Posted

技术标签:

【中文标题】启动屏幕故事板不显示图像【英文标题】:Launch Screen storyboard not displaying image 【发布时间】:2016-08-08 17:39:25 【问题描述】:

我正在尝试从我的 Launch Screen.storyboard 文件中获取要显示为启动屏幕的图像,但是该图像从不显示。我有显示正常的标签,但没有显示图像。

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

但是,当我在模拟器(以及物理设备)上运行应用程序时,会出现以下情况:

如您所见,“测试”标签显示正常,但图像不显示。我真的不确定为什么会发生这种情况,而且我尝试的任何方法似乎都不起作用。如果有人对如何解决此问题有任何想法,将不胜感激。

【问题讨论】:

确保您的图片采用正确的 png 格式。如果是,则不是 jpg 查看***.com/a/49802421/5790492 多个完全不同的答案有很多赞成的事实是非常非常可悲的。 如果图像太大并且加载时间过长,是否有可能将其从启动屏幕中丢弃? 为我解决的只是退出模拟器并再次运行项目。 【参考方案1】:

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

【讨论】:

【参考方案2】:

这件事发生在我身上,让我发疯,除了让我失去几分钟,直到我弄明白。

所以,就像之前所说的:

    将所需图像导入您的 Xcode 项目(只需拖放即可) 更改其约束和对齐方式 更新框架解决自动布局问题 在属性检查器选项卡菜单中(通常在右上角菜单 xCode 中),在图像视图 > 图像上,删除图像扩展名(.png 或 .jpg) - 这就是诀窍

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

希望对你有帮助!

【讨论】:

为我工作!在尝试您的解决方案之前,我让它显示的唯一方法是重新启动我的手机!谢谢 是的!诀窍是从 .png 图像文件中删除图像扩展名! .jpg 文件不起作用,所以我必须先将它们转换为 .png!非常感谢 Jhnosore!【参考方案3】:

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

【讨论】:

【参考方案4】:

我也为此搞砸了好几个小时。但我现在找到了解决方案。 您需要将图像添加到您的项目中,还需要通过拖放将图像添加到 assets.xcassets。

【讨论】:

就是这样。图像必须在项目和资产中。这就像打地鼠游戏。哪个技巧可以解决它?没有人知道。 将图像添加到项目中解决了我的问题:) 天啊....谢谢。我认为我们不能再谈论关于 xcode 的“错误”了。这个软件真是一团糟。 谢谢,这已经帮我整理好了。为了补充这一点,我之前用大小(launch280.png、launch560.png、launch840.png)命名了图像,并且还在 Assets.xcassets 中添加了一个资产名称为 launch 的资产。但它仍然没有工作。我不得不将图像文件重命名为launch.png、launch@2x.png 和launch@3x.png,将它们添加到项目中,将它们添加为名为@9​​87654322@ 的资产,然后它就可以工作了。感谢 Apple 让最简单的事情变得不必要地复杂 ¬_¬ 啊啊啊,三年后我第二次来了……现在是 2020 年 4 月,XCode 还是有这个 bug……不错……【参考方案5】:

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

【讨论】:

只需要拆开我的 Mac,然后重新组装。为 iPhone 做同样的事情。相机,应有尽有。像魅力一样工作。【参考方案6】:

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

我想这只是表明,对于最新的小工具来说,这句老话你是否将其关闭再打开仍然是正确的!

如何重启 iPhone XS 或 iPhone XS Max

    快速按下并松开音量调高按钮 快速按下并松开降低音量按钮 按住侧边按钮,直到出现 Apple 标志

【讨论】:

这家伙是对的。只需对设备进行硬重启即可为我修复它! 在资产中覆盖图像后出现图像未更新的问题。感谢您的提示,完全退出模拟器并重新启动它更新了预览。很奇怪,似乎没有其他方法可以解决问题。 谢谢。它也适用于模拟器。重启模拟器后,Launch Screen.storyboard 中的图片终于出现了。这绝对是 ios 的 bug。 这里有同样的问题。即使我在模拟器的启动屏幕上更改了图像,旧图像仍然以某种方式缓存在我的手机上。尝试干净构建,更改文件名,更改图像,没有工作。我不得不关掉我的手机然后再打开。这解决了它。 这是 2020 年,这仍然挽救了我的一天!谢谢!【参考方案7】:

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

【讨论】:

【参考方案8】:

在我的例子中,重置模拟器的内容和设置解决了这个问题。

【讨论】:

【参考方案9】:

在我的例子中,我有一些视图仍然链接到现在只是一个基本视图控制器的视图控制器。如果我控制单击视图,我可以看到带有警告的出口,但是,警告没有出现在 Xcode 中,这就是我找不到它们的原因。

【讨论】:

【参考方案10】:

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

    硬重启设备

    删除应用

    从 Xcode 安装应用程序

【讨论】:

【参考方案11】:

我遇到了同样的问题。

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

【讨论】:

谢谢,超级骗子谢谢。我总是回来看你的评论。这让我发疯。你的修复对我有用。 取消选中“清除图形上下文”对我有帮助!【参考方案12】:

有同样的问题,将图像添加到“构建阶段 - >复制捆绑资源”为我修复了它。

【讨论】:

这是我需要的。图片必须在主包中,而不是在资产文件中。【参考方案13】:

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

就我而言,我在启动画面中有应用程序徽标,当我运行应用程序时不可见。

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

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

【讨论】:

你拯救了我的一天!【参考方案14】:

按照以下步骤,

    从设备中删除应用程序 重启设备 再次构建

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

【讨论】:

【参考方案15】:

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

【讨论】:

【参考方案16】:

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

【讨论】:

【参考方案17】:

此问题与 Assets.xcassets 有关,要修复它,您必须将图像添加为资源但不在 xcassets 文件夹中,然后应该可以正常工作

【讨论】:

这是迄今为止唯一有效的解决方案。重新启动 xcode,清除派生数据,更改图像名称不起作用。我不建议任何人将重启设备作为解决方案 这个 bug 与 xcassets 的创建一样古老。我已经在我的文件夹中填写了“苹果永远无法解决的问题”。【参考方案18】:

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

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

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

【讨论】:

【参考方案19】:

最后,重启手机对我有用!!

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

【讨论】:

这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review 对不起@AdamRichardson,它也提供了一个答案和一个正确的答案,这就是我的情况。我只需要重新启动手机/模拟器。 我花了 16 个小时试图解决这个问题,最后重启手机成功了。 我敢打赌,苹果公司的某个可以解决此问题的人一定在想:“哦,他们只需要重新启动手机 - 这不会影响发布版本或其他任何东西。我们可以把这个任务留到以后。 " 最终重启解决了问题的手机【参考方案20】:

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

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

(可能需要清理产品或派生数据才能更新,但我不必这样做)

【讨论】:

2020 这仍然是相关的,有时将图像更改为目录中的新 PNG 会停止它。不确定这是否是压缩级别的东西,但纯图像文件可以工作。【参考方案21】:

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

【讨论】:

【参考方案22】:

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

【讨论】:

【参考方案23】:

正在更改初始屏幕的背景图像,但未显示新图像(反应原生项目)。

听从别人的回答。

我完成了以下所有操作并已修复:

干净的构建。 从模拟器中移除应用 退出模拟器 重启 XCode 再次运行应用程序

【讨论】:

【参考方案24】:

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

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

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

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

【讨论】:

【参考方案25】:

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

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

【讨论】:

【参考方案26】:

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

我删除了~/Library/Developer/Xcode/DerivedData/处的派生数据,只清空了文件夹内容,没有删除文件夹。然后我重新启动了 mac 和 iPhone 并清理并重建了项目,现在它出现了。

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

【讨论】:

【参考方案27】:

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

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

也许这对任何人都有帮助。

【讨论】:

【参考方案28】:

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

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

如果您的图像@1x 大小为 200X200,而不是图像视图应为 200X200,那么您将解决此问题。

因为如果您将图像视图的大小设置为大于图像,则图像会变浆,这是不允许的。

如果你还有任何疑问,请在这里评论并提问

【讨论】:

【参考方案29】:

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

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

图像可以是 png/pdf 格式,单比例与否无关紧要。

【讨论】:

【参考方案30】:

我的问题。

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

希望对你有所帮助!

【讨论】:

以上是关于启动屏幕故事板不显示图像的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14 启动屏幕故事板在 iOS 14 设备上不显示图像

故事板不显示从 git 更新项目后所做的更改

启动屏幕不显示徽标图像

图像未显示在 iPhone 启动屏幕中

IOS 启动屏幕故事板以不同的方向显示

故事板不加载(继续加载)Xamarin.ios VS 2017