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);

}];

最新文章

  1. Linux编译工具:gcc入门
  2. android内部培训视频_第一节
  3. 解决asp.net(C#)中 DataTime 空值 null为0001-01-01
  4. EF连接ORACLE
  5. angularjs的事件 $broadcast and $emit and $on
  6. cf Sereja and Array
  7. PowerDesigner使用常见问题
  8. SQL函数和SQL Server2008
  9. HttpClient入门一
  10. Data - Tools
  11. MVC架构中的Repository模式 个人理解
  12. javap反汇编命令
  13. es6 语法 (Decorator)
  14. Django + Uwsgi +Nginx生产环境部署
  15. css 背景图片自适应元素大小
  16. CSS3 Flex布局整理(三)-项目属性
  17. Java版本知识
  18. Zend Studio下的PHP代码调试
  19. VS2010调试多进程
  20. MAC算法

热门文章

  1. Linux学习笔记(一)
  2. Linux下的GNU Emacs 24命令_信息竞赛使用_C++
  3. Soket编程
  4. Android IOS WebRTC 音视频开发总结(七四)-- WebRTC开源5周年了,Google怎么看?
  5. mysql的从头到脚优化之服务器参数的调优
  6. 借助取色工具ColorPix对Pycharm编辑器设定自己喜欢的代码颜色_20161202
  7. 移动端WEB开发,click,touch,tap事件浅析
  8. 【转】常用css命名规则
  9. Linux(centos)系统各个目录的作用详解
  10. C++ dll调用