sizeclass

 

iphone3GS,iphone4,iphone4s谈不上什么屏幕适配,只要用代码计算好frame就好。ipad出现后,用autorizing解决屏幕适配的问题。

iphone5系列出来之后,autoresizing不够用了。autoresizing解决的是父控件和子控件的关系,子控件跟随父控件而变。而无法解决兄弟控件(同级别控件)之间的关系。所以出现了autolayout。。。iphone6,iphone6 plus时的sizeclass可以为不同的屏幕定制不同的东西

 

 

传统storyboard为不同的屏幕做不同的约束无法办到。

installed这个控件要不要显示出来

 

约束冲突不会崩溃,只会报警告。、

 

5.屏幕适配
1> 发展历程
代码计算frame -> autoreszing(父控件和子控件的关系) -> autolayout(任何控件都可以产生关系) -> sizeclass

2> sizeclass
* 仅仅是对屏幕进行了分类, 真正排布UI元素还得使用autolayout
* 不再有横竖屏的概念, 只有屏幕尺寸的概念
* 不再有具体尺寸的概念, 只有抽象尺寸的概念
* 把宽度和高度各分为3种情况
1) Compact : 紧凑(小)
2) Any : 任意
3) Regular : 宽松(大)
4) 符号代表
- : Compact
* : Any
+ : Regular
5) 继承性
* * : 其它8种情况都会继承
* - : 会被- - \ + -继承
+ * : 会被+ - \ + +继承
6) sizeclass和autolayout的作用
sizeclass:仅仅是对屏幕进行了分类
autolayout:对屏幕中各种元素进行约束(位置\尺寸)

 

你可能感兴趣的:(Class)