UI基础7 适配

适配

  • 什么是适配?

  • 适应、兼容各种不同的情况

  • 移动开发中,适配的常见种类

  • 系统适配

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

    • 针对不同大小的屏幕尺寸进行适配

屏幕适配

  • 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能很轻松地解决屏幕适配的问题

Autolayout的警告和错误

  • 警告

    • 控件的frame不匹配所添加的约束, 比如
    • 比如约束控件的宽度为100, 而控件现在的宽度是110
  • 错误

    • 缺乏必要的约束, 比如

    • 只约束了宽度和高度, 没有约束具体的位置

    • 两个约束冲突, 比如

    • 1个约束控件的宽度为100, 1个约束控件的宽度为110

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 屏幕适配 本章节主要还是说明如何让应用程序能够适配在苹果不同的屏幕和如何让应用中的内容在不同的屏幕下能够正常的放置...
    AlanGe阅读 738评论 0 2
  • 在微博上看到一篇这样一则故事。男生和女生一起自习,天冷,男生去帮女生买热牛奶,赶到学校超市,发现微波炉坏了,男...
    Amiu阅读 278评论 2 2
  • 本期导读:本期高级测试工程师曹旭文带来直销银行理财产品的总结,刘蕾分享自己从小白成长为测试工程师的经验,而张红为大...
    贺小七阅读 517评论 0 0
  • 做p2p如何让客户觉得资金是安全的? 满意回答 做好风控流程。严格把握借款来源,只接待优质的借款人以及充分的保障制...
    文舒阅读 435评论 0 3