Masonry底层探究

1)view mas_makeConstraints  添加约束


view.translatesAutoresizingMaskIntoConstraints:视图是否可以将自动约束蒙版作为布局;简而言之:yes: 手动布局; no :自动布局。

你创建的视图默认是打开的,通过xib或故事版创建的视图系统会将其置为关闭状态。

自动布局和手动布局


 MASConstraintMaker 被传入了block中,即使用的make,负责约束的添加。

2) make

链式调用 make.left.mas_equalTo...查看其内部

第一步

第二步

第三步

从文件中看出

MASViewAttribute 是由  View +Item + NSLayoutAttribute 

,存储了view 和其约束信息。

MASViewConstraint 就是一个约束,包括了第一个视图的约束,

从第二步可以看出,单纯的约束属性在该方法下的第一个参数都是nil,所以我们先直接看这种情况下的step3的执行情况。它被加入了一个约束数组中。

你可能感兴趣的:(Masonry底层探究)