因为iphone有很多型号,屏幕的尺寸和分辨率都不同,为了在手机上都能正常的显示,所以同一张的图片肯定要做不同的版本。
也有可能是同一张图片可能在不同的地方出现,所以也需要多张图片,就拿AppIcon来说,你在AppStore中下的应用图片和你一届下载过来放在桌面的图片肯定也是不同的。你在SpotLight搜索到的应用的图片也不一样。
其实就是说同一个应用可能在不同的地方显示它的图标。在不同的地方需要的尺寸是不一样的。在实际开发中我们写的frame中的20是20代表点而不是像素。如果一个图片要给视网膜屏幕来用的就要在图片后面加上@2x,也就是说在视网膜屏幕下会自动的去找有没有@2x这个屏幕,如果有的话,就直接应用这样的图片,如果没有就不用。像iphone 6 plus就是用@3x的。
就比如说我们有个图片叫btn_background这么一张图片,系统在运行的时候会根据实际的屏幕去确定是用@2x还是@3x还是没有任何后缀的图片。大概就是这样