美文网首页
屏幕适配

屏幕适配

作者: 彼岸的黑色曼陀罗 | 来源:发表于2016-08-23 19:06 被阅读0次

    基本概念

    • 适配

    • 概念:适合兼容各种不同的情况

      • 系统适配:针对不同系统版本进行适配
      • 屏幕适配:针对不同大小的屏幕尺寸进行适配
    • 点和像素

      • 屏幕是由无数个点组成的,点是由像素组成的
        -retina屏幕:一个点由四个像素组成,可以显示四种颜色
    • 屏幕适配的发展史

    写固定的值:iphone4之前
    autoresizingMask:iphone5-5s
    autolayout:ios6
    sizeClasses:iPad

    AutoresizingMask

    • 注意:
      • storyboard支持三种适配技术:
        - autoresizingMask
        - autolayout
        - sizeClasses
      • autoresizingMask和autolayout不兼容
      • sizeClasses的使用依托于autolayout
      • 所以要体验autoresizingMask的功能,就要禁止掉其他两种适配技术
    • storyboard使用autoresizingMask
      • 1.与父控件的间距
        - 同时勾选左边和右边,只有左边会生效
        - 同时勾选上边和下边,只有上边会生效
      • 2.水平方向的线
      • 3.竖直方向的线
    • 代码中使用autoresizingMask
      • 属性设置:

        • LeftMargin:距离父控件左边的尺寸是可以拉伸的
        • RightMargin:距离父控件的右边是可以拉伸的
        • BottomMargin:距离父控件的底部是可以拉伸的
        • TopMargin :距离父控件的顶部是可以拉伸的
        • Height:高度会跟随父控件的高度进行拉伸
        • Width:宽度会跟随父控件的宽度进行拉伸
      • 局限性:

        • 只能解决子控件和父控件之间的相对关系问题,有些任务无法实现

    Autolayout

    • 自动布局:专门用来布局UI界面,可以解决任何控件之间的相对关系
    • 两个核心概念
      • 约束:决定控件的位置和尺寸
      • 参照:相对于谁来添加的约束
    • 注意:使用autolayout就不要使用frame

    • autolayout的警告和错误

      • 警告:控件的frame不匹配所添加的约束
      • 错误:缺乏必要的约束或者是约束冲突
    • 自动布局的核心计算公式

      • object1.property1 = (object2.property2 * multiplier)+ constantValue
      • 控件1的高度 等于 控件2的高度乘以0.5 加上20
    • 利用autolayout可以实现的功能

      • 动态修改UILabel显示的文字,实现包裹
      • 父控件的高度可以随着子控件内容进行伸缩

    相关文章

      网友评论

          本文标题:屏幕适配

          本文链接:https://www.haomeiwen.com/subject/tidnsttx.html