码迷,mamicode.com
首页 > 其他好文 > 详细

Masonry 代码添加约束

时间:2016-03-19 15:55:24      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

0. 实用于:

(1)。纯代码写的ui控件(按钮,视图,标签等)

(2)。xib指向的视图。。等

1.在做Masonry的autoLayout之前 一定要先将view添加到superview上 否则会报错:(根据个人的经验:view上的子UI布局一定要在Masonry的autoLayout之后,即先确定view位置)

2.首先在Masonry中能够添加autolayout约束有三个函数

- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;
- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;
- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

mas_makeConstraints 只负责新增约束 Autolayout不能同时存在两条针对于同一对象的约束 否则会报错
mas_updateConstraints 针对上面的情况 会更新在block中出现的约束 不会导致出现两个相同约束的情况
mas_remakeConstraints 则会清除之前的所有约束 仅保留最新的约束
三种函数善加利用 就可以应对各种情况了

3.约束添加完成以后。(更新位置)

[self.view setNeedsUpdateConstraints];
[self.view updateConstraintsIfNeeded];
[UIView animateWithDuration:0.35 animations:^{
        [self.view layoutIfNeeded];
    } completion:^(BOOL finished) {
        
    }];

Masonry 代码添加约束

标签:

原文地址:http://www.cnblogs.com/jingdizhiwa/p/5295203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!