iOS autoLayout

autolayout 基本的常识

现在主流的屏幕适配是sizeClass + auotoLayout ,以前autolayout没出来的时候大家都是用的比例向这样的#define radio = SCREENWHIGHT/320 意思就是安装 宽度320的比例 对空间的大小进行等比的放大或者缩小,当然如果UI给的图是基于6的,320可以换成375,6s就是414. 这种按比例来适配,我感觉优点就是简单,缺点就是不能满足需求。

sb界面上的一些按钮

B064DE44-4FBA-422D-86A6-5B6B0F11C49F.png

第一个是stack 这是iOS9出来的新东西,就是把一堆空间放到栈中统一布置约束,反正很屌。但因为我们要向下兼容,所以这个功能对现在的我们用处不大。
有兴趣的童鞋。
传送门: http://www.cocoachina.com/ios/20150819/13118.html
这篇文章有个小细节的问题没有讲到,就是在设置label和btn stackview的时候Alignment默认就是fill,这时候label和btn就会填充特别难看,这边应该选的是leading
第二个是Alignment
iOS autoLayout_第1张图片

上面4个 是上下左右 中间3个 垂直 水平 以及基线 对控件增加一些Alignment约束 都是相对位置
上面7个要有一个兄弟控件作为基点配置,而下面的是基于容器的

第三个是pin

iOS autoLayout_第2张图片
AA89C2CD-C504-402C-95CC-0AE721E8ECE3.png

上面都有文字说明 我也不废话了
要注意的是如果想加约束的话,点击红色虚线更改它的值(记得点虚线)还有系统默认边上有一个标准间距默认8的点。这个要注意下,如果不想要得花,可以点Constrain to manrgins 取消

第三个是resolve auto'layout lessues
这个我主要用来更新约束和清除约束用的,其实还有很多功能,都是明面上的意思

拖拽的形式

拖拽的形式增加约束,和上面的差不多。

借用别人总结的一句话
第一个Item的属性 =(<=/>=)第二个Item的属性*Multiplier+Constant

你可能感兴趣的:(iOS autoLayout)