IOS之Masonry小结

虽说自己不爱用代码写view,但是上班的时候不让你用storyboard啊,尼玛全代码,真是要了我的命。

不得已,用了大名鼎鼎的masonry来写autolayout。

的确,相比ios自带的autolayout的API来说,masonry的确简单了很多,但是也很复杂啊,好不好!!!!

内心真的是极度的狂暴。

为UI控件添加约束时,主要会用到masonry里面的三个函数

masonry_makeConstraints (添加约束)

masonry_updateConstraints(更新约束)

masonry_remakeConstraints(删除所有约束后,重新添加约束)

里面觉得最好用的是masonry_remakeConstraints,保证不会错,不过要记得将约束写在

- (void)updateConstraints

里面,然后调用

[self setNeedsUpdateConstraints];

[self updateConstraintsIfNeeded];

[self layoutIfNeeded];

这一串,否则不会更新。

有兴趣的自己去谷歌百度原理,这里不解释(其实我也说不清。。。。反正更新约束就要调用这几个方法blah blah blah)

不过使用masonry_makeConstraints的时候不需要啦。如果界面搭好之后不会变动的话就用这个就行。

接下来

这几个函数中就可以添加你UI控件的约束了。大概长这个样子

[view1mas_makeConstraints:^(MASConstraintMaker *make) {   

 make.top.equalTo(superview.mas_top).with.offset(padding.top);

make.left.equalTo(superview.mas_left).with.offset(padding.left);    

make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom);    

make.right.equalTo(superview.mas_right).with.offset(-padding.right);

}];

//masonry的github上的例子

还是挺不浅显易懂的。

自己下下来多用几次就能意会了,说多了看着也累,还是动手比较好。

有兴趣的朋友点击这里下载去 masonry的github地址

尼玛,算是第一篇跟开发相关的笔记了,虽然真的很水0.0

你可能感兴趣的:(IOS之Masonry小结)