Masonry是用代碼實現自動佈局的第三方框架。框架
使用以前首先要導入框架,如下是具體的代碼實現。佈局
1.中心點與父視圖相同spa
#import "ViewController.h" #import "Masonry.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad];
// [self setView1];code
// [self setView2];orm
//[self setView3];blog
[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.兩個視圖左右排開間距是10it
-(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.登陸界面io
-(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/1eRnfs8iclass