之前有篇文章已经写了关于 iOS 替换启动图显示的问题。最近又更换了启动图,发现之前的总结有些错误,这里统一再更新一下。
我按照之前的方法,将图片名字换了之后,是没有问题的。但是有些设备更新或者重装都会出现黑屏,而且重启设备、Xcode 清除缓存都是没有用的。
其实显示的黑屏就是 LaunchScreen.storyboard 中布局的底色,如果换个背景色,就会发现其实视图会正常显示,只是图片有时候不会显示。
网上有说图片放到项目中,不要放到 Assets.xcassets 中的;也有说放到 Assets.xcassets 中的。这两个方法都试过,不是很完美,总是会出现黑屏/black 的问题。
后面找到一个新的方法,将图片先拖到项目中,然后将项目中的图片再拖到 Assets.xcassets 中,这样就可以完美显示了。
2021.1.5 更新
最近发现上面的方法还是不能保证每个设备每次启动都不黑屏,所以又重新改动一番,经过测试之后,发现任何设备任何系统都能够完美展示,不会黑屏了。
- 启动图的名字不要包含 launch,可以使用 BootImage 。
- 启动图放到 Assets.xcassets 中。
- 使用 png 图片,最好去掉 alpha 通道,并且图片尺寸符合真实尺寸要求。
对于图片尺寸,选用同一个 scale 下的屏幕最大像素。比如 2x 下,最大的像素是 828x1972 ,那么,作为启动图的 2x 图片大小就是 828x1972 像素。
假设一个单独适配 iPhone 竖屏的应用,图片大小是:
320x480@1x
828x1792@2x
1284x2778@3x
如果一个单独适配 iPhone 横竖屏的应用,图片大小是:
480x480@1x
1792x1792@2x
2778x2778@3x
如果应用适配 iPad ,也是一样的道理。
假设你的启动图不只有一个底图,上面还会放一些 logo,一定要保证你的底图尺寸是正确的。