autoLayout简述

版权声明:本文为延成原创文章,转载请标明出处

autoresizing

  • 六根线的含义

autolayout

  • 约束

    • 确定控件的位置和尺寸(x,y,w,h)
  • 参照

    • 所添加的约束是相对于谁来说的
  • 警告和错误

  • stroyboard / xib的使用

  • 代码中的使用

    • 使用NSLayoutCanstraint之前需要知道以下两点:
      1.必须设置translatesAutoresizingMaskIntoConstraints为NO
      2.如果是viewController则AutoLayout适配写在:

      - (void)updateViewConstraints NS_AVAILABLE_IOS(6_0);
      

      如果是view则AutoLayout适配写在:

      - (void)updateConstraints NS_AVAILABLE_IOS(6_0) NS_REQUIRES_SUPER;
      
      /**
      1.第一个参数view1:要设置的视图
      2.第二个参数attr1:是个枚举,表示view1要设置的属性
      3.第三个参数relation:是个枚举,表示视图view1和view2的指定属性之间的关系
      4.第四个参数view2:参照的视图,可以为空
      5.第五个参数attr2:是个枚举,表示view2的属性
      6.第六个参数multipler:视图view1的指定属性是参照视图view2指定属性的多少倍
      7.第七个参数c:视图view1的指定属性需要加的浮点数
      根据参数的讲解,得出万能公式:
      view1.attr1 [=,>=,<=] view2.attr2 * multipler + c;
      */
      +(instancetype)constraintWithItem:(id)view1 
                            attribute:(NSLayoutAttribute)attr1 
                            relatedBy:(NSLayoutRelation)relation 
                            toItem:(nullable id)view2 
                            attribute:(NSLayoutAttribute)attr2 
                            multiplier:(CGFloat)multiplier 
                            constant:(CGFloat)c;
                  
      
    • 实现方式
      VFL
      Masonry

  • 其他知识

    • UILabel实现包裹内容
      设置宽度约束 <= 固定值
      设置位置约束
      不需要设置高度约束
    • 约束优先级
    • 修改约束
    • 约束动画

你可能感兴趣的:(ios,基础)