SizeClasses

1.屏幕适配
1>.为什么苹果推出SizeClasses
iPhone3gs-4s : frame直接写死
iPad : autoresizing—>根据父控件frame发生改变,子控件跟着一起改变
iPhone5-iPhone5s : autolayout —>自动布局
iPhone6和iPhone6p : size Classes—>发现屏幕变的太多样化,界面大统一

2> sizeclass

  • 仅仅是对屏幕进行了分类, 真正排布UI元素还得使用autolayout
  • 不再有横竖屏的概念, 只有屏幕尺寸的概念
  • 不再有具体尺寸的概念, 只有抽象尺寸的概念
  • 把宽度和高度各分为3种情况
  1. Compact : 紧凑(小)
  2. Any : 任意
  3. Regular : 宽松(大)
  1. 符号代表
  • : Compact
  • : Any
  • : Regular
  1. 继承性
    w:Compact h:Compact 继承 (w:Any h:Compact , w:Compact h:Any , w:Any h:Any)
    w:Regular h:Compact 继承 (w:Any h:Compact , w:Regular h:Any , w:Any h:Any)
    w:Compact h:Regular 继承 (w:Any h:Regular , w:Compact h:Any , w:Any h:Any)
    w:Regular h:Regular 继承 (w:Any h:Regular , w:Regular h:Any , w:Any h:Any)
  2. 设备对应屏幕
    iPhone4S,iPhone5/5s,iPhone6
    竖屏:(w:Compact h:Regular)
    横屏:(w:Compact h:Compact)
    iPhone6 Plus
    竖屏:(w:Compact h:Regular)
    横屏:(w:Regular h:Compact)
    iPad
    竖屏:(w:Regular h:Regular)
    横屏:(w:Regular h:Regular)
    Apple Watch(猜测)
    竖屏:(w:Compact h:Compact)
    横屏:(w:Compact h:Compact)
  3. sizeclass和autolayout的作用
    sizeclass:仅仅是对屏幕进行了分类
    autolayout:对屏幕中各种元素进行约束(位置\尺寸)

你可能感兴趣的:(SizeClasses)