码迷,mamicode.com
首页 > 其他好文 > 详细

masonry

时间:2016-04-02 20:23:18      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

说明

第三方框架,目前比较流行

mas_makeConstraints

创建约束,重复添加会有冲突

    UIView *blueView=[[UIView alloc]init];
    blueView.backgroundColor=[UIColor blueColor];
    //框架已经实现了
//    blueView.translatesAutoresizingMaskIntoConstraints = NO;
    [self.view addSubview:blueView];

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.width.equalTo(@100);
        make.height.mas_equalTo(100);
        //上面两行代码可缩写成下面的一行代码
//        make.width.height.equalTo(@100);
        //也可写成下面的一行代码
//        make.size.mas_equalTo(100);
        make.right.equalTo(self.view.mas_right).and.with.offset(-20);
        make.bottom.equalTo(self.view).multipliedBy(1.0).offset(-20);
        //默认为父控件,可省略,不过不建议,可读性不好
//        make.bottom.offset(-20);

说明:

  • make.后面表示哪个约束,如make.width表示宽度约束
  • equalTo与mas_equalTo的区别
    • 使用equalTo需要将数据封装成对象
    • mas_equalTo则框架内部帮我们封装
  • self.view.mas_bottom括号里面调用某个属性需要使用mas开头
  • self.view.mas_bottom的.mas_bottom可省略,框架有适配
  • and,with只是为了增强可读性,返回的是self本身
  • multipliedBy(1.0)倍数

使用edge与inset四周边距

  • make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(50, 50, 50, 50));距离边框50
  • make.edges.equalTo(self.view);整个覆盖

mas_remakeConstraints

先删除,再创建约束,可以多次调用,以最后一次为准

    [blueView mas_remakeConstraints:^(MASConstraintMaker *make) {

    }];

mas_updateConstraints

修改某些约束

    [blueView mas_updateConstraints:^(MASConstraintMaker *make) {

    }];

总结约束类型

  • 尺寸:width/height/size
  • 边界:left/leading/right/trailing/top/bottom
  • 中心点:center/centerX/centerY
  • 边距:edges

masonry

标签:

原文地址:http://www.cnblogs.com/JavaTWW/p/5348100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!