现在iOS开发中使用的切图一般都是二倍图和三倍图了,一倍图几乎用不上了。
OC是一门动态语言,动态体现在三方面:1.动态类型 2.动态绑定 3.动态加载。
其中的动态加载指的就是图片的加载,OC会根据屏幕的不同去加载不同倍数的切图,现在iPhone4、5、6、7、8都会去加载二倍图,而相应的plus、X、XR、XS、XSMax都会去加载三倍图。
在iPhone4、5、6、7、8上的1pt=2px,而相应的plust、X、XR、XS、XSMax上的1pt=3px。
验证动态加载:
使用两张不同的图片,图片名相同,其中一张是二倍图,一张是三倍图,然后在不同手机上加载,看加载的图片。
效果图:
第一张屏幕截图实在iPhone8模拟器上,第二章屏幕截图是在iPhone8plus模拟器上,我们看到iPhone8加载的是二倍图,iPhone8plus加载的是三倍图。
那么当只有一张三倍图或二倍图的时候,两个模拟器又会怎么加载图片呢?
我们会发现,如果没了二倍图iPhone8同样会去加载三倍图,如果没了三倍图iPhone8plus也同样会去加载二倍图(退而求其次)。
这里抛出一个问题:
那么在加载切图的时候我们还需要使用代码进行屏幕适配吗(图片的宽高乘以一个比例系数)?
个人觉得还是分情况,以及具体的需求。按照苹果给出的二、三倍图概念,一般图片就不需要代码适配了,但如果一个切图宽度是铺满全屏或有需求需要,我们还是需要使用代码适配的。
****本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。***