ios autoLayout入门

导入:随着iPhone6和iPhone6+的到来,开发者就不能淡定下来了,不再能傻瓜式适配,安卓开发人员也偷乐着呢,你们也有今天。但是,我们还是有实用的工具解决这个难题的。autoLayout就帮我们解决了这个难题。先介绍下适配的历史。

1、 ios6.0之前,autoSizeing布局。就是固定坐标布局。

 局限:只能设置视图与父视图之间的位置关系,不能设置子视图之间的关系  

2、ios6.0之后,autoLayout布局。就是自动布局,这是趋势。 有点:解决了ios6的问题。

3、ios8.0之后,size class。由于现在ios8使用范围不大,先不用了解。

一、 首先,我们必须清楚,什么是分辨率?​

2倍的分辨率,是指对同一个像素点能放大两倍。在iPhone6没出来之前,我们所用的一致的@2x的图片,也就是2倍图。但是在iPhone6甚至是plus出来后,UI可就闲不下来。因为要切两套图片,一套2倍,一套3倍的。

下面是查看分辨率代码。

CGRect rect = [UIScreen mainScreen].bounds; //frame

CGSize size = [[UIScreen mainScreen] currentMode].size; //分辨率​

如果是plus的话,那就需要3倍图,在这之前的所有机型,都是2倍图就可以了。

那图片放置在哪呢?个人建议,跟启动页面放一块,点击“+”,new image set,将二倍图和3倍图放对应的框里即可。然后要对器进行命名,这里的命名不是对图片命名,而是对图片组命名,工程里可以直接将图片组的名字即可。

二、其次,了解什么叫高分辨率模式和兼容模式?

 (1)在plus出来后,分辨率在其他机型基础上新增加了一倍,也就是3倍。这也就意味着,同一个像素点,plus机型能放大3倍,而其他机型只能放大2倍。那么,对于图片来说就要由3倍的图片,也就是@2x和@3x,为了区分图片,那么图片可以放在new image assets里面

   (2)如果plus没有启动高分辨率模式,也就是分辨率没有达到1242*2208,那么就称为兼容模式(换句话说:手机兼容APP),那么对于plus来说,3倍的分辨率根本没有起到作用。反之,如果分辨率达到1242*2208,那么是高分辨率模式,需要@3x的图片。         

(3)那么如何启动高分辨率模式呢?new file-> user interface->Launch Screen->然后再General->Launch Screen file添加文件,那么此时就是高清模式

三、如何使用autoLayout
1、建立xib文件,拖动需要控件到视图上面

2、选择控件,点击product->pin->选择约束条件(宽、高、leading:左、top:上、tralling:右)

3、如果是固定两个子视图之间的关系,那么同时选中两个,一样的步骤,选择horizon(水平) vertical(竖直)

4、需要注意的是:如果你选择上、左、高度约束,就不要选择bottom约束,否则后台会打印错误, 其他类似情况自己类推. 一般会犯的错误,就是约束条件之间的冲突。​

你可能感兴趣的:(ios,适配-ios,autoLyout)