Masonry的使用

/**
 *  1.mas_makeConstraints 是给view添加约束,约束有几种,
    分别是边距,宽,高,左上右下距离,基准线。添加约束后可以
    修正,修正有offset(位移)修正和multipliedBy(倍率)修正 
 
    2.语法一般是make.equalTo or make.greaterThan or Equal to or 
    make.lessThan or EqualTo + 倍数和位移修正 
 
    3.note1:使用mas_makeConstraints方法原色必须是天天加到父元素中
    例如[self.view addSubview:view]
 
    4.note2:mas_equalTo 和equalTo区别:mas_equalTo比equalTo多了
    类型装换操作,一般来说,大多数时候连个方法都是通用的,但是对于数值元素使用 
    mas_equalTo.对于对象或者多个属性的处理,使用equalTo。特别是多个属性时,必须使用 
    equalTo,例如make.left.and.right.equalTo(self.view)
 
    5.note3:注意到方法with和and,这两个方法其实没有做任何操作,
    方法只是返回对象本身,这两个方法的左右完全是为了方法写的时候的可读性。
    make.left.and.right.equalTo(self.view)和
    make.left.equalTo(self.view)是完全一样的,但是明显增加了and方法的语句
    可读性更好些。
 
 */
#import "ViewController.h"
#import "Masonry.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
//    [self example00];
//    [self example01];
//    [self example02];
    [self exp4];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)example00 {
    
    UIView *view = [UIView new];
    [view setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:view];
    
    [view mas_makeConstraints:^(MASConstraintMaker *make) {
       
        make.center.equalTo(self.view);
        make.size.mas_equalTo(CGSizeMake(300, 300));
    }];
}

- (void)example01 {
    
    UIView *view = [UIView new];
    [view setBackgroundColor:[UIColor redColor]];;
    [self.view addSubview:view];
    [view mas_makeConstraints:^(MASConstraintMaker *make) {
       
//        make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));
        make.left.equalTo(self.view).with.offset(10);
        make.right.equalTo(self.view).with.offset(-10);
        make.top.equalTo(self.view).with.offset(10);
        make.bottom.equalTo(self.view).with.offset(-10);
    }];
}

- (void)example02 {
    
    UIView *view1 = [UIView new];
    [view1 setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:view1];
    
    UIView *view2 = [UIView new];
    [view2 setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:view2];
    
    [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        
        make.centerY.mas_equalTo(self.view.mas_centerY);
        make.height.mas_equalTo(150);
        make.width.mas_equalTo(view2.mas_width);
        make.left.mas_equalTo(self.view.mas_left).with.offset(10);
        make.right.mas_equalTo(view2.mas_left).offset(-10);
    }];
    
    [view2 mas_makeConstraints:^(MASConstraintMaker *make) {
       
        make.centerY.mas_equalTo(self.view.mas_centerY);
        make.height.mas_equalTo(150);
        make.width.mas_equalTo(view1.mas_width);
        make.left.mas_equalTo(view1.mas_right).with.offset(10);
        make.right.equalTo(self.view.mas_right).offset(-10);
    }];
}

你可能感兴趣的:(ios开发,约束,masonry,动态布局)