zoukankan      html  css  js  c++  java
  • Masonry的一些等间距布局

    • 控件之间的间距相等,但是控件的宽度是不定的。

      下列的代码:定义间距为10,yellowview的宽度是由redView的宽度计算出来的。

        UIView *redView = [[UIView alloc]init];
        redView.backgroundColor = [UIColor redColor];
        [self.view addSubview:redView];
        [redView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(ws.view);
            make.top.mas_equalTo(ws.view);
            make.right.mas_equalTo(ws.view);
        }];
        
        NSInteger padding = 10;
        UIView *yellowView1 = [[UIView alloc] init];
        yellowView1.backgroundColor = [UIColor yellowColor];
        [redView addSubview:yellowView1];
        
        UIView *yellowView2 = [[UIView alloc] init];
        yellowView2.backgroundColor = [UIColor yellowColor];
        [redView addSubview:yellowView2];
        
        UIView *yellowView3 = [[UIView alloc] init];
        yellowView3.backgroundColor = [UIColor yellowColor];
        [redView addSubview:yellowView3];
        
        [@[yellowView1,yellowView2,yellowView3] mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:padding leadSpacing:padding tailSpacing:padding];
        
        [@[yellowView1,yellowView2,yellowView3] mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.mas_equalTo(redView).offset(padding);
            make.height.mas_equalTo(yellowView1.mas_width);
            make.bottom.mas_equalTo(redView).offset(-padding);
        }];
    • 控件的宽度是一定的,但是控件之间的间距是不定的。

      下列的代码:定义控件的宽度为22,控件之间的间距是由redView的宽度计算出来的。

        UIView *redView = [[UIView alloc]init];
        redView.backgroundColor = [UIColor redColor];
        [self.view addSubview:redView];
        [redView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(ws.view);
            make.top.mas_equalTo(ws.view);
            make.right.mas_equalTo(ws.view);
        }];
        
        UIView *yellowView1 = [[UIView alloc] init];
        yellowView1.backgroundColor = [UIColor yellowColor];
        [redView addSubview:yellowView1];
        
        UIView *yellowView2 = [[UIView alloc] init];
        yellowView2.backgroundColor = [UIColor yellowColor];
        [redView addSubview:yellowView2];
        
        UIView *yellowView3 = [[UIView alloc] init];
        yellowView3.backgroundColor = [UIColor yellowColor];
        [redView addSubview:yellowView3];
        
        //控件的宽度
        CGFloat viewW = 22;
        CGFloat padding = (SCREENWIDTH - 3*viewW) * 1.0 / 4;
        
        [@[yellowView1,yellowView2,yellowView3] mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:viewW leadSpacing:padding tailSpacing:padding];
        
        [@[yellowView1,yellowView2,yellowView3] mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.mas_equalTo(redView).offset(padding);
            make.size.mas_equalTo(viewW);
            make.bottom.mas_equalTo(redView).offset(-padding);
        }];
  • 相关阅读:
    微信小程序自定义分享图片
    rtop:一个通过 SSH 监控远程主机的交互式工具【转】
    mysql双主+keepalived【转】
    诡异的Linux磁盘空间被占用问题,根目录满了,df和du占用不一样【转】
    linux磁盘空间查看inode
    python数据库操作
    Jenkins 安装及使用
    编程入门python之定义函数【转】
    grep和sed匹配多个字符关键字的用法
    linux 如何删除文件夹下面的文件和文件夹,只保留两个文件
  • 原文地址:https://www.cnblogs.com/iOSDeng/p/6121380.html
Copyright © 2011-2022 走看看