写给本身的AutoLayout:(一)简单View

关于AutoLayout设置的图解翻译,以前的有不少文章都讲解,我这里就不班门弄斧了。有兴趣的能够搜一下。翻译

为啥要用AutoLayout?我是可视化拥趸:

可视化
当你使用AutoLayout搭建完成一个页面以后,可使用Preview查看是否适配不一样的尺寸。

如何建立正确的约束,个人理解是这样:我是谁,我在哪

  1. 我是谁:我本身的大小(height、width)
  2. 我在哪:我本身相对于父视图或是平级视图的位置

以上两点适用于大部分的控件设计

举个简单的例子:3d

在视图中上方放置一个UILabel,UILabel的Text居中显示,UILabel下方放置一个UIView,UIView的位置在UILabel的左下方,以下图所示:cdn

简单地例子

要求UILabel 居中,距上方16点。UIView 大小100*100,距离UILabel 16点,距离左侧16点。blog

  1. 首先将两个控件拖进来,按照次序排好,当使用AutoLayout的时候,约束控件必定要有前后顺序,否则容易出现混乱。为了方便显示,将UILabel的BackgroundColor设置为可见色。

  1. 设置UILabel约束,左右边距16点,上20点,高度没有固定。

设施UILabel约束

  1. 设置UIView约束与背景色,左距16,上距16,宽高100.

设置UIView约束

  1. 设置UILabel的Text居中显示

设置text居中

  不设置UILabel的高度,是为了放置UILabel的字数过多,显示不全,若是不肯定UILabel的Text长度的话,能够不设置UILabel的高度,UILabel会根据Text长度进行自适应,固然,前提是将lines设置为0,以下图:ip

长text

  固然,若是你肯定label的text只有一行且不会特别长,还可使用另外一种约束方案,以下:it

设置上距20 io

设置上距20

设置水平居中 class

设置居中

显示结果以下:可视化

显示效果
  这种约束肯定了UILabel的位置,自身宽高会根据Label的Text属性适应高度与宽度。

Tip:

相似标注的功能,忘记是哪一个版本更新的了

Gif图
  选中一个控件,按住Option键,鼠标滑动到空间之外的地方,能够方便的看到空间之间的距离,如此即可以与设计师提供的标注图进行对比,查看是否一致。
相关文章
相关标签/搜索