1.2.autolayout

autoresizing
  • 优点:
  • 让横竖屏适配相对简单;
  • 让子控件可以跟随父控件的行为自动发生相应的变化。
  • 局限性:
  • 只能解决子控件跟父控件的相对关系问题;
  • 不能解决兄弟控件的相对关系问题。
autolayout

iOS 6.0(Xcode4)开始,iOS7.0开始普遍使用

  • 参照
  • 约束
  • 知识点:
  • UILabel:在没有 autolayout 之前,UILabel 的文字内容总是居中显示,导致顶部和底部会有一大片空缺区域;在有了 autolayout 之后,UILabel 的 bounds 默认会自动包住所有的文字内容,顶部和底部不再会有空缺区域。
  • 让父控件的高度跟随子控件的内容进行伸缩。
  • 基于 autolayout 的动画
    • 在修改了约束之后,只要执行下面代码,就能做动画效果
  [UIView animateWithDuration:1.5 animations:^{
      [添加了约束的view layoutIfNeeded];
  }];
  • 添加约束的规则:
    • 对于两个同层级 view 之间的约束关系,添加到它们的父 view 上;
    • 对于两个不同层级 view 之间的约束关系,添加到它们最近的共同父 view 上;
    • 对于有层次关系的两个 view 之间的约束关系,添加到层次较高的父 view 上。

你可能感兴趣的:(1.2.autolayout)