1.屏幕适配
1>.为什么苹果推出SizeClasses
iPhone3gs-4s : frame直接写死
iPad : autoresizing—>根据父控件frame发生改变,子控件跟着一起改变
iPhone5-iPhone5s : autolayout —>自动布局
iPhone6和iPhone6p : size Classes—>发现屏幕变的太多样化,界面大统一
2> sizeclass
- 仅仅是对屏幕进行了分类, 真正排布UI元素还得使用autolayout
- 不再有横竖屏的概念, 只有屏幕尺寸的概念
- 不再有具体尺寸的概念, 只有抽象尺寸的概念
- 把宽度和高度各分为3种情况
- Compact : 紧凑(小)
- Any : 任意
- Regular : 宽松(大)
- 符号代表
- : Compact
- : Any
- : Regular
- 继承性
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) - 设备对应屏幕
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) - sizeclass和autolayout的作用
sizeclass:仅仅是对屏幕进行了分类
autolayout:对屏幕中各种元素进行约束(位置\尺寸)