01.5.Autolayout(自动布局)


适配

  • 什么是适配?
    • 适应、兼容各种不同的情况
  • 移动开发中,适配的常见种类
    • 系统适配
    • 针对不同版本的操作系统进行适配
  • 屏幕适配
    • 针对不同大小的屏幕尺寸进行适配

设备分辨率

添加约束的规则

在创建约束之后,需要将其添加到作用的view上,在添加时要注意目标view需要遵循以下规则:

  1. 对于两个同层级view之间的约束关系,添加到它们的父view上
  2. 对于两个不同层级view之间的约束关系,添加到他们最近的共同父view上
  3. 对于有层次关系的两个view之间的约束关系,添加到层次较高的父view上

First Item =(<=、>=) Multiplier × Second Item + Constant

这个公式就是约束的精髓,也就是可视化编程 AutoLayout 的精髓。公式中 First Item 的 firstAttribute 属性和 Second Item 的 secondAttribute 属性是可选的,Multiplier 系数和 Constant 常数可以手动输入,所以说我们可以通过编辑约束来随心所欲的修改约束,进而限定控件的位置和大小,实现可视化编程中的各种 AutoLayout 需求。

特殊需求

1、Label 的高度自适应

Label 的高度自适应非常简单。给 Label 加约束时不添加宽高约束也不会报错,因为系统默认 Label 的 numberOfLines = 1,height = 20.5,宽度根据文字长短自适应。但有些时候,我们需要使用 Label 显示一段很长的文本,就需要进行高度自适应:添加约束限定 Label 宽度,在 右侧 Utilities 窗口 —> Attributes 选项卡 —> Label 选项 下将 Lines 设置为0。这样你可以不设置Label的高度,让Lable自适应。

2、ScrollView 的 AutoLayout

基于Autolayout的动画

//在修改了约束之后,只要执行下面代码,就能做动画效果
//现在测试之后 添加了约束的view 失效 只有self.view有效 之后再说
[UIView animateWithDuration:1.0 animations:^{
    [添加了约束的view layoutIfNeeded];
}];

参考资料

http://www.jianshu.com/p/8c325cee6a78

results matching ""

    No results matching ""