IOS界面适配一: Pt与Px的关系

来源:互联网 发布:小米2手环淘宝优惠券 编辑:程序博客网 时间:2024/05/17 07:03

在iOS界面开发中,我们一般是使用pt(Point)来作为View的单位,它是一个标准的长度单位,1pt=1/72英寸

  而px即为我们所说的像素,是物理屏幕显示的基本单位,虽然我们在程序中使用的不是px,但是其最后都会转化为px然后显示在我们的手机上

  

  在iphone4以前的时代,iphone整个屏幕长度为320pt*480pt,而iphone的像素为320*480,所以iphone中一个点正好对应一个像素。

  所以,当我们要在iphone中添加一个30pt*30pt的图片,因为一个点正好对应一个像素,所以这时候只要告诉美工做一个30px*30px的图片即可

  

  iphone4出来时候,屏幕的尺寸没有改变,即屏幕的长度还为320pt*480pt,但屏幕的分辨率改为640*960,这时候一个点对应四个像素

  那么现在我要是想做一个上述图片的话,在iphone4中这个尺寸的图片所在的像素为60*60,如果我只做30px*30px的图片的话,假如这个图片叫做image.png ,那么系统会将这个图片放大,会出现模糊的现象.

  这时候,我们可以告诉美工做一个60px*60px的图,命名为image@2x.png,然后将这两个图片都拖动到Images.xcassets文件夹里面,系统会自动生成一个image的文件,里面对号入座着image不同分辨率的图片,我们的程序在使用中,直接使用image.png为图片名即可,程序会根据不同的屏幕来加载不同的图片

  

  又来到了2012年,苹果发布了iphone5,这时候屏幕改为4英寸,但是由于像素密度没有改变,iphone5和iphone5s都是用的是@2x的图片

  

  时光飞逝,苹果发布了iphone6和iphone6 plus ,iphone6的像素分辨率没有改变,但是plus的像素分辨率改变了,一个点差不多对应2.46个像素,那么我们是不是应该做一个图片加上@2.46x呢,答案是否定的。苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。这时候我们想要这个image.png适配iphone6 plus的话,需要做一个大小为90px*90px的image@3x.png图片,然后在拖动到Images.xcassets文件夹里面

  


   所以,如果我们想要坐到完美适配,同一个图片必须要做@1x,@2x,@3x三种,这三种类型的长度的比例为:     @3x为三倍的@1x      @2x为两倍的@1x


   下面上一张从第一行的那个链接中的博客截的iPhone尺寸图,不得不说总结的非常好


   


  总体来说,iphone的屏幕密度并没有安卓的那么复杂,但是如果只靠一个pt想解决ios下多机型的适配的话,估计只能在代码中手动写了(想想就可怕),真正的iphone适配利器是AutoLayout,正确的使用AutoLayout不仅能大大的减少我们的工程量,还能非常完美的解决多分辨率下的适配问题。

转载地址 http://blog.csdn.net/wingsofpiano/article/details/47339131

原创粉丝点击