66.iOS AutoLayout自动布局中级开发教程(1)-浅谈autolayout

原文地址: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

  1. 总结一下autolayout的使用原则:  
  2. 1.所添加的约束,必须是能够确定一个视图的位置和大小的  
  3. 2.所添加的约束,必须是可以计算的,能唯一得出 宽高或者边界值的  
  4. 3.所添加的约束,必须是不冲突的,否则会导致崩溃(可以重复)  
  5. 4.所添加的约束,在storyboard上默认是相邻的最近的视图之间的约束  
  6. 5.所添加的约束,可能会不方便对该视图做相关约束的动画  
  7. 6.所添加的约束,最好是以一个视图为基准添加,这样有利于修改,牵一发而动全身  
  1. 7.autolaout可以和Frame绝对布局混合使用  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值