Masonry是一个轻量级的布局框架,拥有自己的描述语法。采用更优雅的链式语法封装自动布局,简洁明了,并具有高可读性了,而且同时支持 iOS 和 Max OS X。具体怎么使用这里就不多描述了,可以看看这个链接,里面有介绍其简单的使用方法。
在使用过程中需要注意以下几点:
1、对于使用masonry布局的控件,在编译期间,其frame值为CGRectZero,因此,在后面若有使用到其frame的地方,包括直接获取其frame,或者通过CGRectGetMaxX/Y等方法间接用到其frame时,应该注意;
2、在添加约束关系时,必须有至少一个view的frame值是存在的;
3、所有的子视图必须相对父视图,或者兄弟视图进行masonry布局,不可相对爷爷视图,否则xcode报错(Will attempt to recover by breaking constraint );
4、可使用MASAttachKeys(_lbDetail, _lbHost); 跟踪view是否有报错;
5、当修改多个约束的constant时,必须注意修改的顺序,先修改不会引发冲突的约束constant,再修改其他。