iOS解决LaunchScreen图片显示问题:白屏黑屏不显示显示旧的图片等等问题

Posted A-别针少儿编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS解决LaunchScreen图片显示问题:白屏黑屏不显示显示旧的图片等等问题相关的知识,希望对你有一定的参考价值。

问题

1:在LaunchScreen启动页中设置图片,模拟器运行可以显示,真机运行无法显示。

2:在LaunchScreen启动页中设置图片,项目工程内看是有的,但是真机运行无法显示。

3:在LaunchScreen启动页中替换旧的图片,我们更新了assets中的资源图片,项目工程内看是变了的,但是真机运行还是显示旧的图片

原因

由于历史原因,苹果公司提供两种设置启动图片的方式。launchScreen和LaunchImage,ios8以前的系统不支持launchScreen。launchScreen方式会把启动图缓存到APP的资源包内,每次更新,这一部分资源会检测文件名称,如果名称一致,则不会更新。并且,launchScreen的资源优先级大于LaunchImage,无论LaunchImage如何替换资源,只要缓存里面有launchScreen留下的图片,都会使LaunchImage设置实效。经过试验如果想要清除这一步分缓存,可以先卸载APP,然后重启手机,重新下载才行(我们不能要求用户这样做)。

解决方法

1.将图片从 Assets 中拿出来,记得重新命名

不要用旧的文件名称,直接拖拽到项目资源目录中(要把图片放在文件根目录下,不然也会出现加载不出来的情况。)。


2.重新运行到真机,可以显示。替换图片也会显示新的图片

--------------------------------------------------------------------------------------------

如果上面的还解决不了:

方法一:使用Launch Screen这种方式设置启动图后,再转换成images.xcassets方式设置新的,启动页不会更改。

方法二:使用images.xcassets这种方式设置启动图后,再转换成Launch Screen方式设置新的,启动页会更改,看来Launch Screen优先级比较高。


方法三:在Launch Screen上直接更换图片,如果更换不成功(都说是苹果的bug,换了图没有更新是系统有缓存,没有把老图片替换。),把图片名字改了试试。

方法四:在Launch Screen上直接更换图片,如果更换不成功,删除原先的在Launch Screen.storyboard创建一个新的,添加UIImageView和约束,添加图片,注意:图片名称还得换成新的。

以上这些基本可以解决了。

问题常见的搜索描述

在LaunchScreen启动页中替换旧的图片,启动页显示的还是之前旧的图片,不显示新的图片

iOS替换LaunchScreen启动页中图片的问题

启动页中图片的替换

启动页中图片替换的问题

iOS中加载LaunchScreen启动页中的图片问题

iOS LaunchScreen.storyboard 启动页设置图片不显示

iOS Launch Screen 更换启动图片不成功的问题(有坑)

iOS 更换启动图后不生效解决办法

iOS启动页图片设置方式及错误的解决办法

LaunchScreen.storyboard 启动页设置图片不显示启动页白屏

关于iOS启动页launchImage无法显示解决办法(附:图片命名)

iOS中启动页图片不变化

iOS Launchscreen.storyboard 图片未显示

【中文标题】iOS Launchscreen.storyboard 图片未显示【英文标题】:iOS Launchscreen.storyboard Image not showing 【发布时间】:2016-07-15 15:43:12 【问题描述】:

我正在使用 Xcode 7 和 Swift 创建一个 iOS 项目。 我目前的问题是启动运行时我的 LaunchScreen.storyboard Image 没有出现。

对于我的项目,我做了一个文件 - 新建 - 文件 - iOS - 用户界面 - 启动屏幕。 这为我的项目添加了 Launchscreen.storyboard。 然后我将其背景设置为黑色(到目前为止,非常好)。 而且我没有选中 ViewController 的“使用尺寸类”以保留视觉尺寸。

现在我向视图添加了一个 ImageView 并将其图像文件设置为我想要的徽标 png 文件。 在开发 GUI 中,所有视觉上都显示正常。

但是,当我启动运行黑屏时,会在进入下一个屏幕之前短暂出现,但在初始启动屏幕内,iPhone 上不会出现徽标

显然我做错了什么,但我不知道是什么。

【问题讨论】:

您是否在构建阶段“复制捆绑资源”中包含该 .png 文件?.png 名称是否与您在代码中所写的完全一致(区分大小写很烦人)? 我是一个新手,所以我不知道如何“你是否在构建阶段包含那个 .png 文件‘复制捆绑资源’”但是 png 文件都在 Launchimage.launchimage '文件夹'我没有输入图像文件名,我从下拉列表中选择了它 Xcode 创建一个默认的LaunchScreen.Storyboard。为什么需要创建一个新的? 好吧,在“抓住稻草”的同时,我尝试删除默认的,然后添加一个新的。尽管手机上的应用程序中正在显示新的(尽管没有出现 png 图像),但这也不起作用。 【参考方案1】:

我遇到了完全相同的问题,我的 LaunchScreen.storyboard 中的图像没有出现在任何设备上。我通过从资产目录中删除启动图像(1x、2x、3x)并像过去一样将它们直接拖到项目层次结构中来解决它。此外,我必须在 IB 中明确添加图像扩展名 (.png)。之后一切正常,包括自动布局等。

【讨论】:

【参考方案2】: 删除派生数据。 从设备/模拟器中删除应用程序。 重启设备/模拟器并运行应用程序。

【讨论】:

【参考方案3】:

我会先重启设备(或退出模拟器)。我认为 Springboard 可能正在缓存故事板文件,这样即使在删除并重新安装应用程序后,它也会在启动时寻找原始故事板中引用的特定资产集。重新启动设备似乎可以显示图像,即使没有重新安装——我怀疑是因为它清除了 Springboard 的缓存。

【讨论】:

【参考方案4】:

我通过选择 Launchscreen.storyboard 然后选择视图控制器然后打开属性检查器并选中“是初始视图控制器”框解决了这个确切的问题。希望这些年来它对某人有所帮助。

【讨论】:

以上是关于iOS解决LaunchScreen图片显示问题:白屏黑屏不显示显示旧的图片等等问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS Launchscreen.storyboard 图片未显示

关于LaunchScreen启动页设置图片不显示

iOS 启动屏幕不会停止显示 launchscreen.xib

iOS Xcode LaunchScreen故事板无法显示

App启动图不显示的解决办法.

我可以在 IOS 项目的 LaunchScreen 上显示动画吗?