屏幕适配的发展过程
一.直接使用 frame计算控件的位置、大小(MagicNumber)
1.iPhone3GS\ iPhone4 \ iPhone4S 屏幕的物理尺寸是一样的(无需屏幕适配), 而且一个当时的应用要么是横屏要么是竖屏, 不存在能同时进行横竖屏切换的应用
二.使用 Autoresizing进行屏幕适配(设置显示规则,只能按照父控件来设置参照)
1.随着iPad 的发布, 屏幕物理大小发生了变化, 并且要求部分应用程序实现横竖屏切换,所以不能把控件的frame都写死了,需要进行屏幕适配。
2.Autoresizing的核心思想就是:参照父容器来设置子控件的frame。不再写死frame, 而是参照。
3.注意:Autoresizing只能设置当前控件与父控件之间的相对关系,
三.使用 AutoLayout(从 iOS6开始,Xcode4.5)进行屏幕适配
1.随着 iPhone5\ iPhone5s 等的发布苹果设备不同尺寸的屏幕变得越来越多, 不仅要求能根据控件父子关系来设置相对位置, 也要求能根据”任意”控件之间的关系来设置位置
2.因为 Autoresizing只能设置当前控件与父控件之间的相对关系, 当遇到要设置兄弟控件之间的关系的时候Autoresizing就无能为力了
autolayout两个核心:
a.参照
b.约束
a.参照
b.约束
设置完约束
红色提示:
缺少必要约束
约束冲突
黄色提示:
当前控件的位置和设置的约束是不符的
autolayout的核心公式
被约束view的.width = 参照view.width * 系数 + constant(常量)
接下来就是添加过约束之后的小黄人
哈哈哈~