自动布局Masonry

原创 2015年11月17日 19:33:30

通过cocoaPod添加Masonry三方, 或者手动添加三方
ViewController.m
代码见下

1. 
#if 1
    //  创建一个view
    UIView *view = [UIView new];
    view.backgroundColor


----------


 = [UIColor purpleColor];
    [self.view addSubview:view];
    //  300*300 居中显示的矩形
    [view mas_makeConstraints:^(MASConstraintMaker *make) {
        //  设置中心
        make.center.equalTo(self.view);
        //  设置大小
        make.size.mas_equalTo(CGSizeMake(300, 300));


    }];
    //  1. make方法只负责增加新的约束, 但是不能同时出现两条出现同一对象的约束, 否则会报错
    //  2. update方法针对上面的情况, 会更新约束, 以确保不会出现两条相同的约束
    //  3. remake方法会清除掉之前所有的约束, 并重新创建一个
#endif

2.
代码见下

#if 1
    //  创建一个view, 略小于上级视图
    UIView *view1 = [UIView new];
    view1.backgroundColor = [UIColor purpleColor];
    //  一定要先将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

  1. 代码见下
#if 1
    //  两个高度为150的view, 居中且等宽, 等间距, 宽度自动计算
    UIView *view1 = [UIView new];
    view1.backgroundColor = [UIColor purpleColor];
    [self.view addSubview:view1];

    UIView *view2 = [UIView new];
    view2.backgroundColor = [UIColor purpleColor];
    [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);

    }];
#endif
版权声明:本文为博主原创文章,未经博主允许不得转载。

第三方库Masonry自动布局AutoLayout使用

布局:    1. 放在哪  坐标  CGPoint(x, y)    2. 有多大  尺寸  CGSize(width, height) 布局方式:    1.绝对布局(FrameLayout)也...
  • vbirdbest
  • vbirdbest
  • 2016年03月02日 14:26
  • 2058

OC----Masonry 自动布局

Masonry 中的坑 1. 在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。 2. 在添加约束时初学者经常会出现一些错误,约束出现问题的原因一般就是两种...
  • damys
  • damys
  • 2017年01月10日 10:27
  • 459

Masonry自动布局详解六:tableviewCell布局

Masonry自动布局详解六:tableviewCell布局 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,...
  • woaifen3344
  • woaifen3344
  • 2015年11月30日 16:31
  • 9087

iOS---第三方自动布局 - Masonry的使用

转载自:http://www.cocoachina.com/ios/20150702/12217.html Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式...
  • iotjin
  • iotjin
  • 2015年12月15日 20:55
  • 934

Masonry自动布局详解七:ScrollView循环布局

Masonry自动布局详解七:ScrollView循环布局 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也...
  • woaifen3344
  • woaifen3344
  • 2015年11月30日 16:32
  • 8563

VFL、SnapKit、masonry 三种自动布局的使用

Masonry    Masonry基本概念    Masonry,“一个轻量级的布局框架,采用更"优雅"的语法封装自动布局”,不需要使用XIB和Storyboard, 并具有高可读性 ...
  • yoyo_lzj
  • yoyo_lzj
  • 2016年02月23日 20:48
  • 1138

UITableViewHeaderFooterView的使用+自动布局

UITableViewHeaderFooterView的使用+自动布局 使用UITableView的header或footer复用时,如果采用自动布局,你会发现有约束冲突,下面这样写可以消除约束冲突...
  • u010618987
  • u010618987
  • 2015年07月03日 18:21
  • 1881

masonry实现不规则图片布局【图】

直接上代码,思路是:将那一推图片分为四列,每一列是上下对齐的,不要使用按钮。UIImageView+UILabel即可...
  • hherima
  • hherima
  • 2017年11月01日 11:40
  • 374

iOS masonry自动布局怎么导入呢?导入masonry文件夹够不够呢?为什么我导入时报了很多个错呢?

我在网上下载了masonry 的下载包,里面有好几个文件,我把里面的masonry文件夹导入到自己的工程里面,运行后却报了很多个错,请问怎么导入、使用masonry呢?...
  • jinghan8672
  • jinghan8672
  • 2016年12月29日 13:04
  • 80

Masonry自动布局详解四:整体动画更新约束

Masonry自动布局详解四:整体动画更新约束 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于...
  • woaifen3344
  • woaifen3344
  • 2015年11月30日 16:29
  • 7193
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自动布局Masonry
举报原因:
原因补充:

(最多只允许输入30个字)