iOS -- masonry的使用
文章目录
- 安装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的使用相关推荐
- iOS Masonry的使用详解
Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X.Masonry是一个用代码写iOS或OS ...
- iOS - Masonry自动布局
简介: 相对于官方的NSLayoutConstraints的的过于繁琐和麻烦,Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且 ...
- [iOS]-Masonry的使用
Masonry介绍 Masonry是一个iOS开发布局框架,可以适配各种机型,相比原生的NSLayoutConstraint,提高了使用容易度和代码的可阅读程度. 首先需要准备的点: 使用Masonr ...
- iOS Masonry
文章目录 Masonry简介 Masonry主要的类和常用api Masonry基本使用 Masonry结构与源码简单解析 Masonry使用技巧与注意事项 Masonry简介 Masonry利用简化 ...
- iOS Masonry介绍与使用实践(快速上手Autolayout)
前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 ...
- IOS Masonry介绍与使用实践:快速上手Autolayout
转载大神:http://www.cocoachina.com/ios/20141219/10702.html 前言 MagicNumber -> autoresizingMask -> a ...
- IOS Masonry自动布局
之前项目用Frame布局,这个项目登录用了VFL,后来觉得用Masonry,前天布局TableViewCell时用了下 ,觉得还不错. #import "Masonry.h" #i ...
- iOS Masonry详解mas_makeConstraints() 添加约束 mas_remakeConstraints() 移除之前的约束,重新添加新的约束 mas_updateConst
现在iPhone手机屏幕越来越多, 屏幕适配也越来越重要. Masonry就是为屏幕适配而生的三方框架. Masonry基础API mas_makeConstraints() 添加约束 mas_rem ...
- html布局优先级,iOS Masonry 设置布局优先级。
Masonry 中设置布局优先级需要使用系统方法: 设置抗拉伸性.值越低越容易被拉伸 - (void)setContentHuggingPriority:(UILayoutPriority)prior ...
最新文章
- leaflet地图框架
- 闭包函数 装饰器 迭代器
- SDN第4次上机作业
- php画中画,画中画功能 怎么将两个视频叠加播放,制作成画中画效果
- 两数相加python代码实现(leetcode2)
- socket和http协议
- hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
- 飞鸽传书内部护眼神功
- Visual C++开发工具与调试技巧整理
- JavaScript概述2
- 清吧音响怎么选?看看这个黄金搭配,跟着买就对了
- 终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
- 视频教程-思科CCNP专题系列②:EIGRP路由协议-思科认证
- ps文件太大无法保存?
- 高通 linux usb 休眠,系统休眠(System Suspend)和设备中断处理
- 双网口以太网IO模块的优势
- 重庆南川金佛山中医院“扶正消瘤贴”专家评估研讨会圆满落幕
- 什么是Socks5代理?
- Ionic+cordova+angularJS 项目实现IPhone 下拉框滚动效果
- 一文搞懂用k8s部署微服务应用
热门文章
- Redis 应用场景和应用实例详解
- 基于STM32智能家居控制系统软件设计及实现
- 从零开始学C语言 : 初阶指针
- 网络基础--搭建一个简单的网络
- C++迭代器之'反向迭代器'
- 银行从业资格证-个人理财(初级)-多选计算题整理
- Windows 下 android自动打包 volley项目
- 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(八)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(一)
- PHPMyWind支持ppt一键导入
- libuv访问mysql_libuv中的QUEUE