ios13开始,苹果要求使用LaunchScreen.storyboard来设置启动图了。之前因为启动页比较简单,一张图就可以了。拉不拉伸看不大出来。如果启动图内容过多的话,就很明显看到会有拉伸了,所以一张图是不够的。
-
在Assets里创建Image
image.jpeg -
直接将需要适配的不同尺寸的启动图到刚才创建的imageset中;
或者偷懒的话直接将原来LaunchImage.launchimage里面的json文件和启动图
image.jpeg
直接拖到新创建的imageset中覆盖替换。
image.jpeg -
如果不是直接从LaunchImage.launchimage拖json文件进来的,去编辑Contents.json文件,把图中内容
image.jpeg替换为如下的内容,并根据你的具体情况,修改一下下面内容里面的对应不用尺寸下的启动图片名
"idiom" : "iphone", "scale" : "1x" }, { "idiom" : "iphone", "filename" : "iPhone4.png", "scale" : "2x" }, { "idiom" : "iphone", "subtype" : "retina4", "scale" : "1x" }, { "idiom" : "iphone", "filename" : "iPhone5s.png", "subtype" : "retina4", "scale" : "2x" }, { "idiom" : "iphone", "filename" : "iPhone8P.png", "subtype" : "736h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone8.png", "subtype" : "667h", "scale" : "2x" }, { "idiom" : "iphone", "filename" : "IPhoneX.png", "subtype" : "2436h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone XS Max.png", "subtype" : "2688h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone XR.png", "subtype" : "1792h", "scale" : "2x" }```
-
然后在LaunchScreen.storyboard里直接拖入ImageView布局。并填入对应的imageset名字。
image.jpeg
至此,适配基本就完成了。如果你要确认在不同机型上有没有使用对应的图的话,可以在图上做一下标记,看看使用的图是不是对应的。如下图
image.jpeg
启动页替换大概会有缓存的问题。替换后测试的话,记得多手动删除app,多清理缓存。
另外还能想到的做法,就是把启动页的内容细分,当做一个页面而不是图去做适配吧?
网友评论