关闭

Masonry

标签: Masonry
88人阅读 评论(0) 收藏 举报
#import "ViewController.h"
#import <Masonry.h>
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
     [super viewDidLoad]; 
#if 0
     // 创建一个view
     UIView *view = [UIView new];
     // 给view背景颜色
     view.backgroundColor = [UIcolor yellowColor];
     // 将view贴到上级视图上
     [self.view addSubview:view];
     // 300x300 居中显示的矩形
     [view mas_makeConstraints:^(MASConstraintMaker *make) {
        // 设置中心
        make.center.equalTo(self.view);
        // 设置大小
        make.size.mas_equalTo(CGSizeMake(300, 300));
     }];
     // 1. make方法只会负责增加新的约束,但是不能同时出现两条针对同一对象的约束,否则会报错
     // 2. update方法针对上面的情况,会更新约束,以确保不会出现两条相同的约束
     // 3. remake方法会清除之前所有约束,并重新创建一次
#endif

#if 0
     // 创建一个view 略小于上级视图
     UIView *view1 = [UIView new];
     view1.backgroundColor = [UIColor yellowColor];
     // 一定要先将view贴到上级视图上再创建约束,否则会报错
     [self.view addSubview:view1];
     // 偏移量15
     [view1 mas_makeConstraints:^(MASConstraintMaker *make){
//      make.top.equalTo(self.view.mas_top).with.offset(15);
//      make.left.equalTo(self.view).with.offset(15);
//      make.bottom.equalTo(self.view).with.offset(-15);
//      make.right.equalTo(self.view).with.offset(-15);   

//        make.top.and.left.and.bottom.and.right.equalTo(self.view).insets(UIEdgeInsetsMake(15, 15, 15, 15));       
     }];
       make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(15, 15, 15, 15));
#endif

//   两个高度为150的view 居中并且等宽,等间距,宽度自动计算
    UIView *view1 = [UIView new];
    view1.backgroundColor = [UIColor redColor];
    [self.view addSubview:view1];

    UIView *view2 = [UIView new];
    view2.backgroundColor = [UIColor blueColor];
    [self.view addSubview:view2];

 [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        // 设置对称轴,与上级视图的对称轴相同
        make.centerY.equalTo(self.view.mas_centerY);
        make.left.equalTo(self.view).with.offset(15);
        // 因为view1的右侧,是相对于view2的左侧而言,所以,这里要给view2加上mas_left这个属性
        make.right.equalTo(view2.mas_left).with.offset(-15);
        make.height.mas_equalTo(150);
        make.width.equalTo(view2);
    }];

    [view2 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.equalTo(self.view.mas_centerY);
        make.left.equalTo(view1.mas_right).with.offset(15);
        make.right.equalTo(self.view).with.offset(-15);
        make.height.equalTo(view1);
        make.width.equalTo(view1);
    }];
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4640次
    • 积分:401
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档