苹果官方紧急处理 (一) —— 强制更换启动图加载方式(一)
版本记录
版本号 | 时间 |
---|---|
V1.0 | 2020.04.11 星期六 |
前言
苹果的政策一直在变,所以很多时候我们都需要根据政策及时变动,比如加苹果登录、
UIWebView
修改为WKWebView
以及后面这个启动图片通过storyboard进行加载等,这一个专题就专门来处理苹果政策的变化。
问题提出
苹果要求:2020年June 30之前必须将启动方式通过storyboard进行加载。具体参考官方文档。或者可以直接看下面的截图。具体可以参考官方视频。
注意:启动图如果设置的不正确,那么会影响自己App的主页内容。可能会产生拉伸等问题。
问题解决
这里首先是要新建一个storyboard,直接新建就行,同时老的启动方式也要删除(包括setting中的设置和asset中的图片资源)。
这里的LaunchImage要删除删除以后就不会加载asset中的启动图。
如果报错可以参考 Xcode11中,删除LaunchImage报错。
启动图的storyboard可以当做普通页面去处理了,拖进去一个imageview
并进行约束。
下面就是处理新建的启动图的storyboard,有几种处理方案。
1. 只放一张图
这个有人这么做,就是放一张图,按比例进行填充aspect fill
。好处就是资源文件只有一张图很省空间,缺点就是不同屏幕的尺寸那么由于比例扩张和收缩,那么会有部分信息显示不全。比如下面这张文章写的。
用launchscreen.storyboard适配启动图方法,这里面的ipad和小手机启动图下面的文字已经由于扩展超出了屏幕看不到了。
2. 加图片集多张图
这个是新建一个图片集image set
里面放各种尺寸的iphone
和ipad
的图片。
这个方案可以很完美不会有任何拉伸问题,而且做起来开发者的工期也不需要,直接就是图片的替换。缺点就是以后机器尺寸多了就要多放图,图都是高清的,即使进行了压缩,那包的体积也会加大很多。
具体可参考文章 LaunchScreen.storyboard启动图适配。
3. 将素材分割进行分割加载,当成普通的sb文件进行处理
这个想法就是将启动图中的元素,包括logo,还有文字等单独切出来,然后像普通页面那样加载控件(UILabel、UIImageView)
等。
比如这篇文章 用launchscreen.storyboard适配启动图方法(二),这解决了不同尺寸屏幕的适配问题以及包资源体积增大的问题。好处就是包体积小了适配各种机型更灵活(但是背景图还是不可避免的要失去部分显示效果),不好的就是以后要是换开屏图,那么就要开发者有一定的排期进行特殊处理,加大了工期。
综述,看上面三个方案,个人觉得最后这种方案是最靠谱的,同时也有兄弟公司这么做的,并且已经上线了,看着效果还可以吧。
后记
本篇主要讲述了强制更换启动图加载方式,感兴趣的给个赞或者关注~~~