//
// ViewController.m
// massory框架的使用
//
// Created by ZXC5245 on 16/4/18.
// Copyright © 2016年 湛孝超. All rights reserved.
//
#import <Masonry/Masonry.h>
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor greenColor];
// masonry 添加约束
/*
注意:想清楚参考系就行了 谁对谁添加约束
*/
// 1 先创建对象
UIView *redView = [[UIView alloc] init];
redView.backgroundColor = [UIColor redColor];
#warning 在添加约束之前 必须先把 控件添加到视图上 再添加控件的约束
// 2 将创建好的控件添加到视图上
[self.view addSubview:redView];
// 3 给控件再添加约束
[redView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.view);
make.size.mas_equalTo(CGSizeMake(300, 300));
}];
// // 4 重设约束
[redView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view).offset(10);
// 注意设置约束的参考系是他的父 View
make.right.equalTo(self.view).offset(-10);
// 设置相对于父view的顶部偏移20
make.top.equalTo(self.view).offset(20);
// 设置 此时view的高度是 100
make.height.mas_equalTo(100);
}];
// // 5 更新约束 此时只改变了红色view的 大小值 依然是center 对齐
// [redView mas_updateConstraints:^(MASConstraintMaker *make) {
// make.size.mas_equalTo(CGSizeMake(400, 400));
// }];
#pragma mark -- 添加一个蓝色view 来根据红色view 来设置约束
UIView *blueView = [[UIView alloc] init];
blueView.backgroundColor = [UIColor blueColor];
[self.view addSubview:blueView];
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
//设置蓝色view相当于红色view的底部偏移10
make.top.equalTo(redView.mas_bottom).offset(10);
//设置蓝色View相对于红色View左对齐
make.leading.equalTo(redView);
//设置蓝色view的宽度约束是红色view的1/2
make.width.equalTo(redView.mas_width).multipliedBy(0.5);
//设置蓝色view的高度约束等于红色view
make.height.mas_equalTo(redView.mas_height);
}];
}
@end