前面的两篇文章简单的介绍了使用Auto Layout自动布局的方法。我们完全的体会到了这种新的格式化语言Visual Format Language的直观,简直就是一目了然,哈哈。
在我个人的角度来说,这种新的布局方法还是值得学习一下的,虽然现在没有多少人在用写代码创建这种布局约束,但是在IB或StoryBoard拖拽控件的时候随处可见的布局约束,对于像我这样习惯用代码写UI的人来说,还是要简单的来学习一下用代码的方式实现Auto Layout。
(以上纯属个人观点。其实IB和纯代码都有自己的好处,只是我个人习惯用纯代码,同时也是不能够很熟练的使用IB,深感遗憾)
下面我们进入主题:
Visual Format Language这种语言设计的具有很高的可读性,用一对方括号'[view]'这样括起来表示一个View,用一个破折号'-'表示Views之间的关系(或者用两个破折号中间带一个数字'-3-'来表示Views之间的距离是3point)。没错,就是这样直观,就是这样简单。
接下来我们看一下这些例子:来自苹果官方文档
- 标准距离
[button]-[textField]
- 宽度约束
[button(>=50)]
- 向父视图连接
|-50-[purpleBox]-50-|
- 竖直方向布局
V:[topField]-10-[bottomField]
- 齐平的视图
[maroonView][blueView]
- 优先级
[button(100@20)]
- 宽度相等
[button1(==button2)]
- 多种条件限制
[flexibleButton(>=70,<=100)]
- 排成一行的布局
|-[find]-[findNext]-[findField(>=20)]-|
以上这些就是一些基本Visual Format Language的语法,虽然是一些很简单的,但大家应
该尝试使用一下这个新的布局
方式,虽然Auto Layout已经出现了一年多了,但我发现身
边
的好多开发者基本是不用这套布局系统的,也许可能是大
家考虑到兼容性的问题,毕竟
这
是iOS6.0以后才能用的布局系统,但我觉的没事的时候可以尝试一下,说句可能会挨喷
的话,现在再开发新的APP时,向下兼容到iOS6.0足够了。