Masonry 轻量级布局框架的使用
iOS 提供了自动布局的方法,但是原生的方法使用太过麻烦 ,Masonry 框架提供了类似的方法,同样可以实现自动布局
,代码更加直观,而且容易理解。
Masonry 是一个轻量级的布局框架。拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有较高的可读性
,同时支持iOS和Mac OSX。某种意义上可以取代AutoLayout
1.Masonry配置
使用时只需要导入头文件 (Masonry.h)
2.Masonry 常用的方法
2.1Masonry 给视图添加布局条件的常用方法主要有以下三种:
1.创建新的约束条件
[view1 mas_makeConstrains:^(MASContraintMaker *make)];
2.如果之前有约束条件 ,则更新约束条件,如果没有则添加约束
[view1 mas_updateConstrains:^(MASConstrainMaker*make)];
3.将之前的约束条件全部删除 ,重新添加新的约束条件(重置约束条件)
[view1 mas_remakeContrains:^(MASContrainMaker*make)];
*说明;make代表当前视图的约束条件
2.2Masonry 的约束属性和方法
MASContraint 是一个抽象类 ,为视图提供了彼此之间的约束条件
*equalTo: 对齐
*greaterThanOrEqualTo:大于或超出
*lessThanOrEqualTo :小于或超出
priorityLow:优先级低
priorityMedium :优先级中等‘
priorityHigh ;优先级高
offset :位置偏移
sizeOffset: 大小偏移
centerOffset :中心偏移;
例如:(设置view1的位置和大小 1. 通过设置四周边界里控制位置和大小)
[view1 mas_makeContraints:^(MASContraintMaker *make){
//定制视图到四边的距离
make.top.equalTo:(self.view.mas_top).offset(20);//到顶部的距离
make.bottom.equalTo:(self.view.mas_bottom).offset(-200);//到底部的距离
make.left.equalTo:(self.view.mas_left).offset(50); //左侧的距离
make.right.equalTo:(self.view.mas_right).offset(-100);//右侧的距离
}];
设置view2 的位置和大小
[view2 mas_makeConstrains:^(MASConstraintMaker:*make){
make.left.equalTo:(self.view.mas_left).offset(100);
make.right.equalTo:(self.view.mas_right).offset(-100);
make.width.mas_equalTo(100);
make.height.mas_equalTo(200);
}];
最新文章
- Linux编译工具:gcc入门
- android内部培训视频_第一节
- 解决asp.net(C#)中 DataTime 空值 null为0001-01-01
- EF连接ORACLE
- angularjs的事件 $broadcast and $emit and $on
- cf Sereja and Array
- PowerDesigner使用常见问题
- SQL函数和SQL Server2008
- HttpClient入门一
- Data - Tools
- MVC架构中的Repository模式 个人理解
- javap反汇编命令
- es6 语法 (Decorator)
- Django + Uwsgi +Nginx生产环境部署
- css 背景图片自适应元素大小
- CSS3 Flex布局整理(三)-项目属性
- Java版本知识
- Zend Studio下的PHP代码调试
- VS2010调试多进程
- MAC算法
热门文章
- Linux学习笔记(一)
- Linux下的GNU Emacs 24命令_信息竞赛使用_C++
- Soket编程
- Android IOS WebRTC 音视频开发总结(七四)-- WebRTC开源5周年了,Google怎么看?
- mysql的从头到脚优化之服务器参数的调优
- 借助取色工具ColorPix对Pycharm编辑器设定自己喜欢的代码颜色_20161202
- 移动端WEB开发,click,touch,tap事件浅析
- 【转】常用css命名规则
- Linux(centos)系统各个目录的作用详解
- C++ dll调用