Masonry

原创 2015年11月17日 19:31:59
#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);
    }];
}

相关文章推荐

masonry 瀑布流框架 精美示例

  • 2017年05月17日 10:41
  • 285KB
  • 下载

代码自动布局,及masonry

/* Create constraints explicitly. Constraints are of the form "view1.attr1 = view2.attr2 * multipli...

masonry+infinitescroll.zip

  • 2017年06月15日 16:01
  • 3.73MB
  • 下载

Masonry等距离约束

  • 2016年06月24日 15:36
  • 154KB
  • 下载

IOS自适配利器Masonry使用指南

如果说自动布局解救了多屏幕适配,那众多三方库的出现就解救了系统自动布局的写法。Masonry就是其中一个。用法上也比较简单灵活,很大程度上替代了传统的NSLayoutConstraint布局方式。下面...
  • ridxmc
  • ridxmc
  • 2016年05月04日 00:13
  • 681

masonry JQUERY

  • 2012年09月08日 01:13
  • 126KB
  • 下载

Masonry库文件(最新)

  • 2017年06月19日 11:23
  • 42KB
  • 下载

Masonry介绍与使用:快速上手Autolayout

前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码...

bootstrap图片瀑布布局 Masonry插件

  • 2017年01月18日 13:53
  • 543KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Masonry
举报原因:
原因补充:

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