历史:
从iOS 6开始 ,之前都是3.5英寸没有考虑到适配.
iPhone5 变成了4英寸,所以推出了Auto Layout
理解:
另外一个体系,去描述位置.
像素:
点:
// 勘误: 图中的像素应为 “点"


// 写上以上代码,就可以删掉系统创建的控制器和storyBoard了.
// 创建控制器,勾选Xib

拖一个uiview
背景改成红色.
按住cotroller 往右拖,选右边


// 同理,选下边
// 在内部拖,height / width

共有4步骤
这样如果是iPad项目(upsideDown默认是勾选了)
4个效果:
可以看到,无论屏幕怎么变化,距离都保持距离一定;
而且,本身的尺寸也没有变化.
// 1)

// 2)

// 3)

// 4)

注:
层次关系:


// 控件居中:
1. bottom,
2. 内部height,width
3. 往上,如图: 有根竖线

// 可以让红色的保持与蓝色的相对位置变化

首先, 要确定蓝色控件的位置.
在确定红色参照蓝色的位置


// 给蓝色添加约束:如图 , 记得点击Add按钮

// 红色往蓝色上拖动,4种可以改动:
有横向,纵向:


让红色的按钮,和蓝色按钮的宽和高

// 约束也可以拖到.n文件

// 于是就可以在系统中改变值.

// 改进: 可以加动画

// 改两个方向
需求:
1) 3个间距一样.
横屏时候: // 可以理解为iphone6 plus

// 可以理解为 iPhone4s

// 改变宽度参照的倍数.

// 经验:
拖textField左右边距固定;
先放控件,再添加约束!!!

// btn 5个约束(底)
上下左右高度
这个底部约束,拖控件,然后其他控件都相对往上升.

// 倒数第二个 4个约束
左右上高度(下面已经添了)
// 最上那个, 3个约束
左右高度(上面一定不能添,要不然会有冲突)
左,上面一定不要(系统冲突了,不知道你要怎么放了)
// 按钮底部的约束拖线
// 监听键盘出来和消失


// 好习惯: 顺手把析构函数写了

// 接下来完成键盘出现和消失的事件:


代码: // 别忘了layoutIfNeeded

// 不能用"加等于"

// 接下来完善键盘降下来的操作.
减等于
以上告一段落
要确定一个控件的位置,需要几个约束?
4个
不够描述的时候,会报错.

// 约束多了或者少了都会报错

// 修改

// 补充:
如果想用代码写:
