在 LaunchScreen 中拖上了一个 imageView 然后设置图片,发现图片在 iphonex上并不生效,启动页黑屏或者白屏,几乎是随机的。解决方法:
1、将Assets.xcassets中的LaunchImage.launchimage全部删除
2、Build Setting中红色圈起来部分删除
3、在info.plist中新增 Launch screen interface file base name,值为LaunchScreen
4、在Assets中新建Image Set
5、然后放一张图,我这边放的是1125*2436,(当然@2x 750x1334 的也可以放)
同时在该目录下添加一个Contents.json文件,并copy下面一段代码,不过目前都是可以自动生成了
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "你自己的图片",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
6、将上面的两的资源目录下(除assets目录),否则,会有白屏的情况出现
7、以上准备好之后,打开你的LaunchScreen.storyboard添加imageview控件,Xcode 11版本在这边拖入
图片的填充模式,需要fill
此处选择的资源就是上面第四步创建的imageSet的名称
8,设置图片的约束条件,四个方向均设置为0
图片替换不要使用覆盖,很可能会出现,有缓存的情况
导致原因
原因可能是之前的闪屏图片在手机里缓存下来了,再更新的话,图片名一样的两张图片,系统不知道该加载哪一张吧。
解决
我们在每次上线前将闪屏图片资源的名字都会改一下,这样的话即使之前有缓存,现在也要加载最新名字的图片,这样能避免这个问题。
参考:https://www.jianshu.com/p/d2b0f20e2e96