原文地址:http://blog.csdn.net/yangbingbinga/article/details/42987899
何为autoLayout(自动布局,相对布局)? 按照我粗浅的理解,autolayout就是描述用来描述视图(控件)与视图之间的关系的一种工具;
当然,这种关系包括,子视图与子视图(如一个view上的两个button),子视图与父视图的关系(如一个Button距离他的父视图view右边界的距离);有大小关系(等高等宽),边界距离关系,有中心点(centerX 和 centerY)关系也有比例缩放(ratio)关系;
autolayout的原理实际上是基于数学的一次方程求解,最终算出 约束值;按照这个说法,如果你给一个一次方程组,能产生不同的结果,storyboard就不可能计算出唯一的正确的约束结果;例如,你添加了两个会产生冲突的约束(例如:一个button距离父视图view左边20距离右边100,又增加一个 centerX与父视图等中心的约束就会产生冲突);所以我们给出的约束,必须是没有冲突的(只要没有冲突,重复的约束是可以的,例如你在一个方程组中间重复的写了一个方程式,结果是不会变的);
autolayout原理示例: view上四个button,距离边界都是0,且等宽,那么 我们可以列出一个方程式 4 X = screenWidth;这样我们就可以求解出每一个button的宽度了
上面的描述,可能会有些抽象,我在后续的教程中会附上图片和代码,让大家可以更具体的了解autolayout