背景
苹果在WWDC2019-session中提到,从2020年4月开始,所有支持iOS13
的App
必须提供LaunchScreen.storyboard
,否则将无法提交到AppStore
进行审核。苹果爸爸虽然说了要用LaunchScreen
替代LaunchImage
,但却没有给出如何适配,网上也很难找到相关文章。这里是在自己做替换过程中做的一些总结,希望能够帮助到有需要的人。
LaunchImage方案
LaunchImage
是我们在iOS8
之前使用的设置启动图方案,苹果每次推出新的屏幕尺寸的设备,我们需要在LaunchImage
中放入对应的尺寸的启动图,随着屏幕尺寸的不断变多,这显然变成了一个繁琐的步骤。因此在iOS8
之后,苹果引入了LaunchScreen
,可以直接在Storyboard
上通过AutoLayout
与Size Class
设置启动页样式,适配各种屏幕非常方便。LaunchImage
将会退出历史的舞台。
LaunchScreen方案
-
创建
LaunchScreen.storyboard
-
做布局
点击创建的storyboard
,在1
和2
相关的位置做启动页布局,在3
的位置可以灵活查看不同设备尺寸的布局效果。
如果你想不同尺寸的设备上单独做布局目前来看是不可以的,因为不可以在LaunchScreen.storyboard
上面添加自定义类。
简单的方式是放一个覆盖整个屏幕的ImageView
,然后给ImageView
设置一个本地的图片。如果启动图很简单,这样做倒是可以,但是如果元素比较多的启动图只用一个ImageView
的话在一些尺寸的设备上图片可能会出现截取,超出,拉伸等问题。所以元素较多的启动页可以多添加一些控件做灵活布局,AutoLayout
如何布局这里就不谈了,不是本文重点。
- 移除
LaunchImage
- 删除
LaunchImage
文件和对应的图片
- 清除
Build Settings
里面LaunchImage
相关的配置
- 在
General
里面设置Launch Screen File
总结
相对简单的启动图,改动起来工作量不大,复杂的就另说了。当然前提是熟悉更改流程,不然还是有一些坑要踩。
一些需要注意的点上面也都提到了,新冠疫情比较严重,希望大家都可以渡过难关,话不多说继续在家搬砖了~~~