Masonry代码自动布局的简单使用。

Masonry是用代码实现自动布局的第三方框架。

使用之前首先要导入框架,以下是具体的代码实现。

1.中心点与父视图相同

 

#import "ViewController.h"
#import "Masonry.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

//    [self setView1];


//    [self setView2];


    //[self setView3];


   [self setView4];

}
/**
 *  中心点与父视图相同
 */
-(void)setView1{
    UIView *mainView = [[UIView alloc] init];
    mainView.backgroundColor = [UIColor redColor];
    [self.view addSubview:mainView];
    [mainView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(self.view);
        make.size.mas_equalTo(CGSizeMake(200, 200));
    }];
}

 

2.距离上下左右边距

 

/**
 *  距离上下左右边距
 */
-(void)setView2{
    UIView *mainView = [[UIView alloc] init];
    mainView.backgroundColor = [UIColor redColor];
    [self.view addSubview:mainView];
    [mainView mas_makeConstraints:^(MASConstraintMaker *make) {
        //make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(100, 80, 50, 10));
        make.left.equalTo(self.view).with.offset(10);
        make.right.equalTo(self.view).with.offset(-20);
        make.top.equalTo(self.view).with.offset(30);
        make.bottom.equalTo(self.view).with.offset(-40);
    }];

 

 3.两个视图左右排开间距是10

 

-(void)setView3{
    //左边视图
    UIView *rightView = [[UIView alloc] init];
    rightView.backgroundColor = [UIColor redColor];
    [self.view addSubview:rightView];
    //右边视图
    UIView *leftView1 = [[UIView alloc] init];
    leftView1.backgroundColor = [UIColor greenColor];
    [self.view addSubview:leftView1];
    
 [rightView mas_makeConstraints:^(MASConstraintMaker *make) {
     make.centerY.mas_equalTo(self.view.mas_centerY);
     make.height.mas_equalTo(150);
     make.width.mas_equalTo(leftView1.mas_width);
     make.left.mas_equalTo(self.view.mas_left).with.offset(10);
     make.right.mas_equalTo(leftView1.mas_left).with.offset(-10);
 }];
 [leftView1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.mas_equalTo(self.view.mas_centerY);
        make.height.mas_equalTo(150);
        make.width.mas_equalTo(rightView.mas_width);
        make.left.mas_equalTo(rightView.mas_right).with.offset(10);
        make.right.mas_equalTo(self.view.mas_right).with.offset(-10);
    }];
}

 

4.登录界面

-(void)setView4{
    UITextField *accountTextField = [[UITextField alloc] init];
    accountTextField.backgroundColor = [UIColor redColor];
    accountTextField.placeholder = @"账号";
    [self.view addSubview:accountTextField];
    
    UITextField *secretTextField = [[UITextField alloc] init];
    secretTextField.backgroundColor = [UIColor greenColor];
    secretTextField.placeholder = @"密码";
    [self.view addSubview:secretTextField];
    UIButton *loginButton = [[UIButton alloc] init];
    loginButton.backgroundColor = [UIColor blueColor];
    [loginButton setTitle:@"登录" forState:UIControlStateNormal];
    [self.view addSubview:loginButton];
    [accountTextField mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.view.mas_left).offset(50);
        make.right.equalTo(self.view.mas_right).offset(-50);
        make.top.equalTo(self.view.mas_top).offset(100);
        make.height.mas_equalTo(50);
    }];
    [secretTextField mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.view.mas_left).offset(50);
        make.right.equalTo(self.view.mas_right).offset(-50);
        make.top.equalTo(accountTextField.mas_bottom).offset(40);
        make.height.mas_equalTo(50);
    }];
    [loginButton mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.view.mas_left).offset(100);
        make.right.equalTo(self.view.mas_right).offset(-100);
        make.top.equalTo(secretTextField.mas_bottom).offset(40);
        make.height.mas_equalTo(50);
    }];
    
}

以下为源码连接地址:http://pan.baidu.com/s/1eRnfs8i

 

posted @ 2016-01-04 19:20  ¥草原狼¥  阅读(423)  评论(0编辑  收藏  举报