ios开发autolayout之Masonry使用总结

1.about Masonry

目前最流行的 Autolayout 第三方框架
用优雅的代码方式编写 Autolayout
省去了苹果官方恶心的 Autolayout 代码
大大提高了开发效率

框架地址:
https://github.com/SnapKit/Masonry


/**

 // 这个方法会将以前的所有约束删掉,添加新的约束

 [blueView mas_remakeConstraints:^(MASConstraintMaker *make) {

 

 }];

 

 // 这个方法将会覆盖以前的某些特定的约束

 [blueView mas_updateConstraints:^(MASConstraintMaker *make) {

 

 }];

 */


 /**

     mas_equalTo:这个方法会对参数进行包装

     equalTo:这个方法不会对参数进行包装

     mas_equalTo的功能强于 > equalTo

     */


demo示例1:

    // 蓝色控件
    UIView *blueView = [[UIView alloc] init];
    blueView.backgroundColor = [UIColor blueColor];
    [self.view addSubview:blueView];
    

    
    // 这个方法只会添加新的约束  下面几段份代码实现的效果相同
<span style="font-family: Arial, Helvetica, sans-serif;">/**</span>
       [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
            // 宽度约束
            make.width.equalTo(@100);
            // 高度约束
            make.height.equalTo(@100);
           // 右边
            make.right.equalTo(self.view.mas_right).offset(-20);
            // 顶部  传进去的参数 需要加mas
            make.top.equalTo(self.view.mas_top).offset(20);
        }];
 */   
        [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
            // 宽度约束
            make.width.mas_equalTo(100);
            // 高度约束
            make.height.mas_equalTo(100);
            // 右边
            make.right.equalTo(self.view).offset(-20);
            // 顶部
            make.top.equalTo(self.view).offset(20);
        }];
<pre name="code" class="objc">        [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
            // 宽度高度约束
            make.width.height.mas_equalTo(100);
            // 右边
            make.right.equalTo(self.view).offset(-20);
            // 顶部
            make.top.equalTo(self.view).offset(20);
        }];


 
 
<pre name="code" class="objc">        [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
            // 宽度高度约束
    //        make.size.equalTo([NSValue valueWithCGSize:CGSizeMake(100, 100)]);
    //        make.size.mas_equalTo(CGSizeMake(100, 100));
            make.size.mas_equalTo(100);
            // 右边
            make.right.equalTo(self.view).offset(-20);
            // 顶部
            make.top.equalTo(self.view).offset(20);
        }];


 
 





你可能感兴趣的:(ios开发autolayout之Masonry使用总结)