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 图片未显示