文章目录

  • 安装masonry
  • 使用masonry
  • masonry基本使用
  • 使用masonry实现视图重叠的demo

安装masonry

根据博客cocoapods安装
masonry使用
完成masonry的安装

使用masonry

打开终端输入

cd

将文件拖入终端后输入

touch PodFile

之后你的项目里面将会多一个文件
打开文件在文件中输入

platform :ios, '7.0'
target '文件名' do
pod 'Masonry'
end

masonry基本使用

mas_makeConstraints() 添加约束
mas_remakeConstraints() 移除之前的约束,重新添加新的约束
mas_updateConstraints() 更新约束,写哪条更新哪条,其他约束不变

equalTo() 参数是对象类型,一般是视图对象或者mas_width这样的坐标系对象
mas_equalTo() 和上面功能相同,参数可以传递基础数据类型对象,可以理解为比上面的API更强大

width() 用来表示宽度,例如代表view的宽度
mas_width() 用来获取宽度的值。和上面的区别在于,一个代表某个坐标系对象,一个用来获取坐标系对象的值

使用masonry实现视图重叠的demo

#import "ViewController.h"
#import "Masonry.h"
@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.//self.view.backgroundColor = [UIColor whiteColor];// Masonry布局UIView* ViewDad = [[UIView alloc] initWithFrame:CGRectZero];ViewDad.backgroundColor = [UIColor redColor];[self.view addSubview:ViewDad];UIView* ViewSon = [[UIView alloc] initWithFrame:CGRectZero];ViewSon.backgroundColor = [UIColor orangeColor];[ViewDad addSubview:ViewSon];UIView* ViewSon2 = [[UIView alloc] initWithFrame:CGRectZero];ViewSon2.backgroundColor = [UIColor blueColor];[ViewSon addSubview:ViewSon2];UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];[button setTitle:@"iOS" forState:UIControlStateNormal];[ViewSon2 addSubview:button];//先addSbuView 否则报错//在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。[ViewDad mas_makeConstraints:^(MASConstraintMaker *make) {//规定当前视图距离父视图顶端的距离make.top.mas_offset(150);//规定当前视图距离父视图左端的距离make.left.mas_equalTo(70);//规定当前视图自身的宽度make.width.mas_offset(250);//规定当前视图自身的高度make.height.mas_equalTo(250);}];[ViewSon mas_makeConstraints:^(MASConstraintMaker *make) {//规定当前视图距离父视图顶端的距离make.top.mas_offset(25);//规定当前视图距离父视图左端的距离make.left.mas_equalTo(25);//规定当前视图自身的宽度make.width.mas_offset(200);//规定当前视图自身的高度make.height.mas_equalTo(200);}];[ViewSon2 mas_makeConstraints:^(MASConstraintMaker *make) {//规定当前视图距离父视图顶端的距离make.top.mas_offset(25);//规定当前视图距离父视图左端的距离make.left.mas_equalTo(25);//规定当前视图自身的宽度make.width.mas_offset(140);//规定当前视图自身的高度make.height.mas_equalTo(140);}];[button mas_makeConstraints:^(MASConstraintMaker *make) {//规定当前视图距离父视图顶端的距离make.top.mas_offset(40);//规定当前视图距离父视图左端的距离make.left.mas_equalTo(40);//规定当前视图自身的宽度make.width.mas_offset(50);//规定当前视图自身的高度make.height.mas_equalTo(50);}];
}
@end

iOS -- masonry的使用相关推荐

  1. iOS Masonry的使用详解

    Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X.Masonry是一个用代码写iOS或OS ...

  2. iOS - Masonry自动布局

    简介: 相对于官方的NSLayoutConstraints的的过于繁琐和麻烦,Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且 ...

  3. [iOS]-Masonry的使用

    Masonry介绍 Masonry是一个iOS开发布局框架,可以适配各种机型,相比原生的NSLayoutConstraint,提高了使用容易度和代码的可阅读程度. 首先需要准备的点: 使用Masonr ...

  4. iOS Masonry

    文章目录 Masonry简介 Masonry主要的类和常用api Masonry基本使用 Masonry结构与源码简单解析 Masonry使用技巧与注意事项 Masonry简介 Masonry利用简化 ...

  5. iOS Masonry介绍与使用实践(快速上手Autolayout)

    前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 ...

  6. IOS Masonry介绍与使用实践:快速上手Autolayout

    转载大神:http://www.cocoachina.com/ios/20141219/10702.html 前言 MagicNumber -> autoresizingMask -> a ...

  7. IOS Masonry自动布局

    之前项目用Frame布局,这个项目登录用了VFL,后来觉得用Masonry,前天布局TableViewCell时用了下 ,觉得还不错. #import "Masonry.h" #i ...

  8. iOS Masonry详解mas_makeConstraints() 添加约束 mas_remakeConstraints() 移除之前的约束,重新添加新的约束 mas_updateConst

    现在iPhone手机屏幕越来越多, 屏幕适配也越来越重要. Masonry就是为屏幕适配而生的三方框架. Masonry基础API mas_makeConstraints() 添加约束 mas_rem ...

  9. html布局优先级,iOS Masonry 设置布局优先级。

    Masonry 中设置布局优先级需要使用系统方法: 设置抗拉伸性.值越低越容易被拉伸 - (void)setContentHuggingPriority:(UILayoutPriority)prior ...

最新文章

  1. leaflet地图框架
  2. 闭包函数 装饰器 迭代器
  3. SDN第4次上机作业
  4. php画中画,画中画功能 怎么将两个视频叠加播放,制作成画中画效果
  5. 两数相加python代码实现(leetcode2)
  6. socket和http协议
  7. hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
  8. 飞鸽传书内部护眼神功
  9. Visual C++开发工具与调试技巧整理
  10. JavaScript概述2
  11. 清吧音响怎么选?看看这个黄金搭配,跟着买就对了
  12. 终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
  13. 视频教程-思科CCNP专题系列②:EIGRP路由协议-思科认证
  14. ps文件太大无法保存?
  15. 高通 linux usb 休眠,系统休眠(System Suspend)和设备中断处理
  16. 双网口以太网IO模块的优势
  17. 重庆南川金佛山中医院“扶正消瘤贴”专家评估研讨会圆满落幕
  18. 什么是Socks5代理?
  19. Ionic+cordova+angularJS 项目实现IPhone 下拉框滚动效果
  20. 一文搞懂用k8s部署微服务应用

热门文章

  1. Redis 应用场景和应用实例详解
  2. 基于STM32智能家居控制系统软件设计及实现
  3. 从零开始学C语言 : 初阶指针
  4. 网络基础--搭建一个简单的网络
  5. C++迭代器之'反向迭代器'
  6. 银行从业资格证-个人理财(初级)-多选计算题整理
  7. Windows 下 android自动打包 volley项目
  8. 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(八)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(一)
  9. PHPMyWind支持ppt一键导入
  10. libuv访问mysql_libuv中的QUEUE