繁体   English   中英

启动屏幕 storyboard 不显示图像

[英]Launch Screen storyboard not displaying image

我试图从我的 Launch Screen.storyboard 文件中获取一张图像作为启动屏幕显示,但该图像从未显示。 我的标签显示正常,但图像不显示。

这是启动屏幕在 Launch Screen.storyboard 文件中的样子: 在此处输入图像描述

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

在此处输入图像描述

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

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

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

如何重启 iPhone XS 或 iPhone XS Max

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

我也在这个问题上折腾了好几个小时。 但我现在找到了解决方案。 您需要将图像添加到您的项目以及通过拖放操作添加到 assets.xcassets 中。

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

按照以下步骤,

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

如果不起作用,请删除派生数据。 Xcode Preference->Locationtab->Derived data。 然后按照上面的步骤操作。

它发生在我身上,让我发疯,除了让我失去几分钟,直到我弄清楚为止。

所以,就像之前说的:

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

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

我希望它可以帮助!

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

  1. 硬重启设备

  2. 删除应用

  3. 从 Xcode 安装应用程序

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

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

我遇到了同样的问题。

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

在此处输入图片说明

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

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 

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

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

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

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

在几个 StackOverflow 线程上尝试了一切之后,这对我有用:

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

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

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

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

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

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

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

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

遵循其他人的答案。

我做了下面的所有事情,它被修复了:

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

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

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

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

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

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

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

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

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

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

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

我的问题。

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

希望能帮到你!

实际上,对于一些重量级图片,将它们添加到images.xcassets并不是一个好情况,因为应用程序在启动之前加载了images.xcassets轻量级图片。 所以我将启动画面图像放在加载的第一个根目录,然后问题就消失了:

  1. 在项目根目录创建一个新
  2. 将您的图像拖放到黄色组文件夹中
  3. 将其重命名为不同的特殊名称
  4. 回到您的xib (或故事板)文件并将ImageView寻址到它在步骤3 中的特殊名称。
  5. 清理并再次构建,然后您就可以看到您的图像。

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

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

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

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

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

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

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

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

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

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

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

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

由于以下参考,我陷入了同样的问题,我能够解决这个问题

https://developer.apple.com/forums/thread/19759?answerId=75438022#75438022

虽然在为 imageview 选择图像时没有必要更改图像名称和删除扩展名,但我只是创建了一个名为 resources 的文件夹并将我的图像添加到该文件夹中因为我认为将图像直接放入根目录并不好文件夹

希望这会有所帮助。

调试愉快!

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

在此处输入图片说明

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

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

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

因此,我发现的解决方案是将图像视图内容大小设置为高宽比,或者将图像视图大小设置为图像大小。

就像您的图像@ 1x大小为200X200时,图像视图应该为200X200时,您将解决此问题。

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

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

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

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

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

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

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

用作启动屏幕

在此处输入图片说明

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

在此处输入图片说明

在此处输入图片说明

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

  1. 图片似乎有1MB 的大小限制 没有记录,但是当我将相同的图像从 3MB 优化到 1MB 以下时,它起作用了。 这是有道理的,因为操作系统希望启动屏幕尽可能轻。
  2. 操作系统确实会积极缓存启动屏幕,要查看我的启动屏幕更改:我每次都必须重置模拟器:设备 > 擦除所有内容和设置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM