苹果审核新规:用LaunchScreen.storyboard设置启动页

一、苹果审核新规

背景:从2020年四月起提交至App Store的app,必须使用Xcode的Storyboard搭建启动页。在这条新规下,我们就不能使用原来的Assets.xcassets➡️LaunchImage来设置启动图了,必须换成LaunchScreen.storyboard来实现。

二、如何使用LaunchScreen.storyboard搭建启动图呢?

首先,要在项目中进行配置。
1、在General—> App Icons and Launch Images—>Launch Screen File中选择LaunchScreen

项目设置

2、选中LaunchScreen.storyboard,勾选Use as Launch Screen的选项
LaunchScreen.storyboard

3、在LaunchScreen.storyboard中添加一个UIImageView的控件
添加控件

4、为新添加的UIImageView添加约束
添加约束

5、设置约束
选中上下左右的约束(点击短横线),并将数值都设为0,最后点击Add按钮,如下图所示
设置约束

6、修改约束
经过步骤5之后,效果如下:
留白问题

从上图可以看出,默认的Safe Area会在iPhoneX系列的机型上,使启动图没有覆盖整个屏幕。
7、解决留白问题
在左窗口选中底部约束—>点击右侧的First item—>选择Superview—>将Constant设置为0,如下所示:
修改底部约束

修改完成的效果如下:
修改底部约束

同样的方式,修改顶部约束:
修改顶部约束

修改完后的效果:
修改完成

8、查看不同机型的效果(这里以背景色代替了图片)
image.png

9、图片适配问题
不同机型,启动图的大小和宽高比不一样,如何解决呢?
由于系统类UIImageView,不能根据尺寸配置多张图片。那是否能将启动图改为自定义的类呢?
答案是:在LaunchScreen.storyboard中不能使用自定义类
不支持自定义类

那么,如何解决启动图的适配问题呢?
场景1:启动图为全屏的图片
解决办法:选5.5寸的启动图(因为宽度最大),并将填充模式设为等比例填充,如下图所示
图片设置

场景2:启动图的内容在底部
如凤凰新闻,启动图为底部的文字logo,其余的留白。此时该图片就不是全屏的。约束应该改为:宽度填充满,高度=宽度*固定比例,再设置一个底部的约束,如下图所示
凤凰新闻

10、如果遇到了真机不生效的问题
如果遇到跑到真机上效果不对的问题,记得先删除Xcode的缓存,再clean一下项目,最后卸载手机上的app,重新安装即可(本人就遇到了在iPhoneX上不生效的问题)

推荐阅读更多精彩内容