历史:
从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个
不够描述的时候,会报错.
// 约束多了或者少了都会报错
// 修改
// 补充:
如果想用代码写:

转载于:https://www.cnblogs.com/toxicanty/p/4445219.html

0421 AutoLayout的实践/基本使用相关推荐

  1. Autolayout第三方库Masonry的入门与实践

    在如今的iOS开发中,Autolayout已经是不得不使用了,而且是我们主动的去拥抱Autolayout.使用Autolayout最普遍的方式就是在xib或者storyboard中可视化的添加各种约束 ...

  2. 转帖Masonry介绍与使用实践(快速上手Autolayout)

    前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ...

  3. Masonry介绍与使用实践:快速上手Autolayout

    今天看到的就转过来以防以后有需要,http://www.cocoachina.com/ios/20141219/10702.html 前言 1 MagicNumber -> autoresizi ...

  4. iOS Masonry介绍与使用实践(快速上手Autolayout)

    前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 ...

  5. IOS Masonry介绍与使用实践:快速上手Autolayout

    转载大神:http://www.cocoachina.com/ios/20141219/10702.html 前言 MagicNumber -> autoresizingMask -> a ...

  6. Android关于Task的一些实践之SingleTask, SingleInstance和TaskAffinity

    上一篇文章粗略地介绍了一下关于Android中Task的基本知识.只是实践才是检验真理的唯一标准,所以.今天就来试验一下Task中的launchMode是否真的实现了文档所说的那样. 首先.定义三个A ...

  7. iOS8开发~UI布局(三)深入理解autolayout

    一.概要 通过对iOS8界面布局的学习和总结,发现autolayout才是主角,autolayout是iOS6引入的新特性,当时还粗浅的学习了下,可是没有真正应用到项目中.随着iOS设备尺寸逐渐碎片化 ...

  8. iOS8开发~UI布局(二)storyboard中autolayout和size class的使用详解

    一.概要:前一篇初步的描述了size class的概念,那么实际中如何使用呢,下面两个问题是我们一定会遇到的: 1.Xcode6中增加了size class,在storyboard中如何使用? 2.a ...

  9. 寒哥细谈之AutoLayout全解

    看到群中好多朋友还停留在Frame布局的痛苦时代,以及有些开发者接手别人的就项目发现布局一团乱. 而且没有启动图的时候并不是真正真正适配iPhone 6(S).iPhone6(S) Plus等设备 . ...

最新文章

  1. mysql 同机做主从
  2. 我们不应歧视任何编程语言,她们都是萌娘!(有图有真相)
  3. 9.Windows线程切换_TSS
  4. svn教程----权限管理
  5. 文本分类入门(二)文本分类的方法
  6. AndroidStudio部署项目时出现错误:Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
  7. node项目正常启动后不能访问(防火墙未放行端口)
  8. 删除windows7中的“兼容性疑难解答”右键菜单
  9. 堆排序算法---属于选择排序
  10. parse 日期_日期parse()方法以及JavaScript中的示例
  11. Python小记--在特定位置修改CSV文件
  12. python语_Python 基本语法
  13. 互联网金融数据分析-笔记
  14. Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 5 days
  15. AI金融知识自学偏量化方向-了解不同类型的机器学习2
  16. 小爱同学课程表自动导入教程(2)——新版青果教务系统
  17. react实现微信分享
  18. Unity射击游戏发射子弹的方法和提升流畅性的小技巧
  19. java撞墙随机变色_将CompletableFuture与EJb一起使用时撞墙 - java
  20. 011 索引的优点,特大型的表考虑分区技术

热门文章

  1. vue-cli部署ngixs_Vue-cli项目部署到Nginx
  2. oracle 分页查询
  3. Java第一次上机实验源代码
  4. IE8 select 动态下拉遇到的问题
  5. 赵雅智:service_startService生命周期
  6. jQuery ajax 和 普通js ajax 笔记
  7. 在PEA上海做演讲主题:大型、高负载网站架构和应用初探
  8. c java c时间格式处理_c:foreach 对时间类型进行格式化
  9. 原型 原型链 call / apply
  10. dentity在Java里是什么意思_注释@Id和@GeneratedValue(strategy = GenerationType.IDENTITY)的用途是什么?为什么世代类型是身份?...