0421 AutoLayout的实践/基本使用

历史:
从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个
不够描述的时候,会报错.
// 约束多了或者少了都会报错
 
// 修改
 
// 补充:
如果想用代码写:
posted @ 2015-04-21 19:10  toxicanty  阅读(122)  评论(0编辑  收藏  举报