IOS屏幕适配

简介

屏幕适配一直是移动端开发一个非常蛋疼的问题,前几天和产品狗沟通一个Android项目,它觉得这个软件应该在任何手机上显示的都应该是一模一样的,一点都不能缩放,还夸下海口,哪怕只适应一种机型,然后程序猿先生只能遗憾的说,滚蛋!

其实最初的时候Android和IOS一样,对一些界面都是给的固定值,在IPhone5出来之前,不存在屏幕适配的问题,因为iphone5之前的机型屏幕大小都是一样的。

5年以上的Android也应该知道当时是有五大布局的,现在只有四大布局,淘汰的那种正是固定布局,因为Android的屏幕大小更夸张,大小不一也就算了,某些厂商还推出一些反人类的屏幕尺寸,尼玛!

尺寸图

不扯淡了,虽然Android的适配比较蛋疼,但是ios还是比较方便的,下图是一张苹果产品的屏幕尺寸图:


image

屏幕适配的发展史

既然咱是学习IOS的,那么对这个多少要了解一点,来吧小伙子

iPhone ~ iPhone4s时代

  • 没有屏幕适配,刚出来,屏幕大小都一样的
  • 全都用frame、bounds、center之类的玩意儿进行布局
  • 很多宽高大小直接写死,反正大小一样的,是不是感觉很爽

横屏和IPAD出现了

  • 这时候程序猿开始蛋疼了
  • 苹果公司推出了Autoresizing,程序猿舒了一口气
    • 横竖屏适配相对简单
    • 让子控件随着父控件产生相应的变化
    • 和AutoLayout不兼容
    • 只能解决父子控件的相对关系,只听他爸的
    • 不能解决同级别控件的关系,不听他兄弟的

IPhone5的变革

  • 变样了,突然变大了让很多程序猿开始不适应了,但是没办法,还得干活儿啊
  • 从iPhone5开始,屏幕越来越长,当时人们预测,到iPhone10的时候,大家就不用买自拍杆了;到iPhone20的时候,国旗杆全部采用最新版iPhone。
  • 事情并没有如我们所愿,后来他开始变胖了,于是屏幕适配横空出世。

IOS6.0和AutoLayout

  • IOS6.0(Xcode4.0)的时候,出现了AutoLayout。
  • 然鹅到IOS7.0(Xcode5)才开始逐渐火起来,因为Xcode5太难用了,和Android前段时间推出的AutoLayout一样,但事情总会向好的方向发展嘛,我相信都会越做越好的。
  • 一般Xcode会帮你默认选择了,我们姑且不用管它。
  • 更加严谨,必须约束完全才能执行,不然会报错。
  • 现在我们大家都用它,没人理frame了

你可能感兴趣的:(IOS屏幕适配)