Autolayout

2019-07-12  本文已影响0人  高思阳

什么是Autolayout

1.简介
2.xib中使用autolayout
image image image
3.代码实现Autolayout

(1)禁止autoresizing功能,设置view的下面属性为NO

view.translatesAutoresizingMaskIntoConstraints = NO;

(2)利用NSLayoutConstraint类创建具体的约束对象(一个NSLayoutConstraint对象就代表一个约束)

/*
*   view1:要约束的控件
*   attr1:约束的类型(做怎样的约束)
*   relation:与参照控件之间的关系
*   view2:参照的控件
*   attr2:约束的类型(做怎样的约束)
*   multiplier:乘数
*   c:常量
*/
+(id)constraintWithItem:(id)view1 attribute (NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;

(3)添加约束对象到相应的view上

  - (void)addConstraint:(NSLayoutConstraint *)constraint;
  - (void)addConstraints:(NSArray *)constraints;

注意:

(a) 添加约束之前,一定要保证相关控件都已经在各自的父控件上
(b) 不用再给 view 设置 frame

4.自动布局的核心计算公式
obj1.property1 =(obj2.property2 * multiplier)+constant value

链接:https://www.jianshu.com/p/b2caa7d88dbe

上一篇 下一篇

猜你喜欢

热点阅读