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,再修改其他。