GeekBand.iOS-Autoresizing

2016/4/2 posted in  iOS学习笔记  

在了解了UIView的定位相关知识以后,我们就可以进一步讨论UIView的布局方式了。就现有的方式知识来时,我们直接使用SB创建界面的时候所有View的大小和位置都是定死的,可是我们所使用的iOS设备的屏幕分辨率却有很大的差别。
为了可以更简单的使View自动的适应不同大小的屏幕,苹果在iOS2.0中提出了Autoresizing功能。

界面布局过程

  • super view
    • layoutSubviews
      • iOS5.1- 实现是空的
      • 后续的版本实现了autoLayout的支持
    • setNeedsLayout
      • 下次绘制之前需要重新推算布局
    • layoutIfNeeded
      • 立即重新推算布局 ##对布局的需求的分析 实现布局主要是计算界面元素之间的间距
    • 固定间距 用struts(柱子)表示
    • 弹性间距 根据界面尺寸比例调整的间距,用springs(弹簧)表示 ##UIView的AutoresizingMask
  • Fixed vs Flexible
    • 未指定flexible 就是 fixed
    • UIViewAutoResizing
      • None
      • FlexibleLeftMargin
      • FlexibleWidth
      • FlexibleRightMargin
      • FlexibleTopMargin
      • FlexibleHeight
      • FlexibleBottomMargin
    • Size
      • width
      • height
    • Margin
      • left
      • right
      • Top
      • bottom

在Xcode中设置autoresizing

  1. 将View的autoLayout关闭掉
  2. 在Xcode中设置autoresizing