iOS-屏幕适配

适配

  • 什么是适配?

    • 适应、兼容各种不同的情况
  • 移动开发中,适配的常见种类

    • 系统适配
      • 针对不同版本的操作系统进行适配
    • 屏幕适配
      • 针对不同大小的屏幕尺寸进行适配

屏幕适配

  • iPhone的尺寸

    • 3.5inch、4.0inch、4.7inch、5.5inch
  • iPad的尺寸

    • 7.9inch、9.7inch
  • 屏幕方向

    • 竖屏
    • 横屏

屏幕适配的发展历史

  • iPhone3GS\iPhone4
    • 没有屏幕适配可言
    • 全部用frame、bounds、center进行布局
    • 很多这样的现象:坐标值、宽度高度值全部写死
UIButton *btn1 = [[UIButton alloc] init];
btn1.frame = CGRectMake(0, 0, 320 - b, 480 - c);
  • iPad出现、iPhone横屏

    • 出现Autoresizing技术
      • 让横竖屏适配相对简单
      • 让子控件可以跟随父控件的行为自动发生相应的变化
      • 前提是:关闭Autolayout功能
      • 局限性
        • 只能解决子控件跟父控件的相对关系问题
        • 不能解决兄弟控件的相对关系问题
  • iOS 6.0(Xcode4)开始

    • 出现了Autolayout技术
    • 从Xcode5.0(iOS 7.0)开始,开始流行Autolayout

Autolayout

  • Autolayout是一种“自动布局”技术,专门用来布局UI界面的
  • Autolayout自iOS 6开始引入,由于Xcode 4的不给力,当时并没有得到很大推广
  • 自iOS 7(Xcode 5)开始,Autolayout的开发效率得到很大的提升
  • 苹果官方也推荐开发者尽量使用Autolayout来布局UI界面
  • Autolayout能很轻松地解决屏幕适配的问题

Autoresizing

  • 在Autolayout之前,有Autoresizing可以作屏幕适配,但局限性较大,有些任务根本无法完成
  • 相比之下,Autolayout的功能比Autoresizing强大很多

  • Autolayout的2个核心概念

    • 参照
    • 约束

Autolayout常用面板

  • 约束处理
    0
  • 相对布局
    1
  • 对齐布局

2

Masonry

  • 目前最流行的Autolayout第三方框架
  • 用优雅的代码方式编写Autolayout
  • 省去了苹果官方的Autolayout代码
  • 大大提高了开发效率
  • 框架地址:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值