用launchscreen.storyboard适配启动图方法

更新

  • 如果UI愿意把启动图切割成n份,按一定约束在launchscreen.storyboard中进行排版,启动图效果会更好。
    详见随笔:用launchscreen.storyboard适配启动图方法(二)

  • “使用 Xcode storyboard(故事板) 来提供 app 的启动屏幕”的要求已延期到2020.6.30.

https://developer.apple.com/cn/news/?id=03262020b

背景

wwdc2019有session提出。到2020年4月,上架APP的启动图必须使用launchscreen.storyboard,不能再使用assert方式了。但是session没有给出如何适配。网上也很难找到相关文章。于是,尝试用launchscreen.storyboard试了下启动图适配。结论如下:
对启动图有一定要求(上下需要留有足够空白,以免被截掉);
可以做多语言适配;

https://developer.apple.com/videos/play/wwdc2019/224/

启动图相关设置步骤

适配的关键步骤如下:

  • 去除勾选UseSafeAreaLayout(否则在刘海平手机的非安全区域会有空白,看起来不够好看)

  • 在launchscreen.storyboard的view里拖动一个UIImageView,并用autolayout设置上下左右间距为0


  • 选中UIImageView,设置面板上的Content Mode为Aspect Fill

  • 不同机型上效果如下:

iPhone4:

iPhone8:

iPhoneX:

iPad:

多语言适配(下面为想当然的错误示范+正确操作链接)

  • 通过面板勾选Localization

  • 展开launchscreen.storyboard,针对不同语言的launchscreen.storyboard设置不同的图片。经反馈,是行不通的!!!

正确操作请参考IOS 实现启动图 多语言切换
即使按上面链接方法做了静态国际化,以下两种状况是不会切换的

demo地址

OCDailyTests(工程在testiOS3子文件夹)

学无止境,快乐编码。 没有一种不经过蔑视、忍受和奋斗就可以征服的命运。
原文地址:https://www.cnblogs.com/Dast1/p/11661295.html