当前位置: 首页 > news >正文

Masonry适配

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

//
//  ViewController.m
//  Masonry适配
//
//  Created by asun on 16/5/24.
//  Copyright © 2016年 wuchang. All rights reserved.
//
#import "ViewController.h"
#import <Masonry.h>


@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    CGFloat width = WIDTH / 5.0;
    
    UIView *view = [[UIView alloc]init];
    view.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:view];

    [view mas_makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(self.view);//屏幕居中
        make.width.and.height.mas_equalTo(width);
    }];
    
    UILabel *label1 = [[UILabel alloc]init];
    label1.backgroundColor = [UIColor redColor];
    [self.view addSubview:label1];
    
    [label1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.equalTo(view);    //X轴在控件view中居中显示
        make.top.equalTo(view).offset(JWScaleY(10));  //距离顶部
        make.bottom.equalTo(view).offset(JWScaleY(-30));//距离底部  (底部和右侧都是负数)
        make.width.equalTo(view).offset(view.width - JWScaleY(40));//宽度
    }];
    
    UILabel *label2 = [[UILabel alloc]init];
    label2.textAlignment = NSTextAlignmentCenter;
    label2.text = @"label2";
    [self.view addSubview:label2];
    
    [label2 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(label1.mas_bottom).offset(0); //距离lab1底部0像素
        make.width.mas_equalTo(width);
        make.centerX.equalTo(view); //X轴在控件view中居中显示
        make.bottom.equalTo(view); //label2底部和view的底部重叠
    }];
    
 
}

- (void) layout{
    UIView *views = [[UIView alloc]init];
    views.backgroundColor = [UIColor blackColor];
    [self.view addSubview:views];       //在做适配之前需要先把控件加到视图上,要不然会报错
    __weak typeof(self)weakSelf = self;
    [views mas_makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(weakSelf.view);
        make.size.mas_equalTo(CGSizeMake(300, 300));
    }];
    
    UIView *view1 = [[UIView alloc]init];
    
    view1.backgroundColor = [UIColor yellowColor];
    [views addSubview:view1];
    [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        //        make.edges.equalTo(view).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));
        //或者
        //        make.top.equalTo(view).offset(10);
        //        make.left.equalTo(view).offset(10);
        //        make.right.equalTo(view).offset(-10);
        //        make.bottom.equalTo(view).offset(-10);
        //在或者
        make.top.left.right.bottom.equalTo(weakSelf.view).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));
    }];
    
    UIView *view2 =[[UIView alloc]init];
    view2.backgroundColor = [UIColor redColor];
    [view1 addSubview:view2];
    
    UIView *view3 = [[UIView alloc]init];
    view3.backgroundColor = [UIColor blueColor];
    [view1 addSubview:view3];
    [view2 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(view1).offset(10);
        make.left.equalTo(view1).offset(10);
        make.bottom.equalTo(view1).offset(-10);
        make.width.mas_equalTo(100);
    }];
    
    [view3 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(view2.mas_right).offset(10);//设置view3的左侧距离view2的右侧10
        make.top.equalTo(view1).offset(10);
        make.right.equalTo(view1).offset(-10);
        make.bottom.equalTo(view1).offset(-10);
    }];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

转载于:https://my.oschina.net/u/2287505/blog/1634428

相关文章:

  • 【BZOJ】1086: [SCOI2005]王室联邦
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • vuex入门
  • zookeeper集群的安装
  • Godot-3D教程-02.3D性能和局限性
  • markdown编写技巧
  • vuex 存值 及 取值 的操作
  • java的IO流的一些测试
  • 扒一扒,你有多少校友在阿里?实习就来阿里云。
  • LVS+keepalived+nginx
  • 0/1背包经典例题 入门动态规划
  • HDU 2242 考研路茫茫——空调教室(边双连通)
  • Inno 安装前检测.net framework 4.0
  • MySQL5.7 添加用户、删除用户与授权
  • Puppeteer:浏览器控制器
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android 架构优化~MVP 架构改造
  • angular2 简述
  • Asm.js的简单介绍
  • Flannel解读
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Vue UI框架库开发介绍
  • Webpack 4x 之路 ( 四 )
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 分布式事物理论与实践
  • 给github项目添加CI badge
  • 猴子数据域名防封接口降低小说被封的风险
  • 前言-如何学习区块链
  • 浅谈Golang中select的用法
  • 三栏布局总结
  • 我的zsh配置, 2019最新方案
  • 物联网链路协议
  • 鱼骨图 - 如何绘制?
  • scrapy中间件源码分析及常用中间件大全
  • 仓管云——企业云erp功能有哪些?
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #pragma预处理命令
  • #在 README.md 中生成项目目录结构
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (算法)求1到1亿间的质数或素数
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • *p++,*(p++),*++p,(*p)++区别?
  • .“空心村”成因分析及解决对策122344
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net mvc 获取url中controller和action
  • .net快速开发框架源码分享