LaunchScreen 替换 LaunchImage

5,629 阅读2分钟

背景

苹果在WWDC2019-session中提到,从2020年4月开始,所有支持iOS13App必须提供LaunchScreen.storyboard,否则将无法提交到AppStore进行审核。苹果爸爸虽然说了要用LaunchScreen替代LaunchImage,但却没有给出如何适配,网上也很难找到相关文章。这里是在自己做替换过程中做的一些总结,希望能够帮助到有需要的人。

LaunchImage方案

LaunchImage是我们在iOS8之前使用的设置启动图方案,苹果每次推出新的屏幕尺寸的设备,我们需要在LaunchImage中放入对应的尺寸的启动图,随着屏幕尺寸的不断变多,这显然变成了一个繁琐的步骤。因此在iOS8之后,苹果引入了LaunchScreen,可以直接在Storyboard上通过AutoLayoutSize Class设置启动页样式,适配各种屏幕非常方便。LaunchImage将会退出历史的舞台。

LaunchScreen方案

  1. 创建LaunchScreen.storyboard

  2. 做布局

点击创建的storyboard,在12相关的位置做启动页布局,在3的位置可以灵活查看不同设备尺寸的布局效果。

如果你想不同尺寸的设备上单独做布局目前来看是不可以的,因为不可以在LaunchScreen.storyboard上面添加自定义类。

简单的方式是放一个覆盖整个屏幕的ImageView,然后给ImageView设置一个本地的图片。如果启动图很简单,这样做倒是可以,但是如果元素比较多的启动图只用一个ImageView的话在一些尺寸的设备上图片可能会出现截取,超出,拉伸等问题。所以元素较多的启动页可以多添加一些控件做灵活布局,AutoLayout如何布局这里就不谈了,不是本文重点。

  1. 移除LaunchImage
  • 删除LaunchImage文件和对应的图片

  • 清除Build Settings里面LaunchImage相关的配置

  • General里面设置Launch Screen File

总结

相对简单的启动图,改动起来工作量不大,复杂的就另说了。当然前提是熟悉更改流程,不然还是有一些坑要踩。

一些需要注意的点上面也都提到了,新冠疫情比较严重,希望大家都可以渡过难关,话不多说继续在家搬砖了~~~