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);
        }];
  • 相关阅读:
    信号处理引发的cpu高
    两个混淆的用户锁定
    一段获取权限的脚本
    AF_INET 和PF_INET区别;AF_LOCAL PF_LOCAL 区别.
    一个三目运算符问题
    nginx cpu高排查
    mmap 测试的一些坑
    哈希——布隆过滤器 查黑名单(大数据 100亿数据)
    哈希——设计RandomPool结构
    哈希
  • 原文地址:https://www.cnblogs.com/iOSDeng/p/6121380.html
Copyright © 2011-2022 走看看