Masonry的简单使用
#import "RootViewController.h" #import "Masonry.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; #pragma mark label // 添加约束,不需要这只frame UILabel *label = [UILabel new]; label.backgroundColor = [UIColor redColor]; // 添加父视图,视图添加完成之后才能进行布局 [self.view addSubview:label]; // 布局,实现布局方法 [label mas_makeConstraints:^(MASConstraintMaker *make) { // 距离上面50 // make:相当于你要布局的视图,equalTo(参照视图的对象),如果参照视图是self.view,可以不设置参照视图的属性(就是top) make.top.offset(); // 距离左边100; make.left.offset(); // 距离右边100 make.right.equalTo(self.view).offset(-); // 距离下面500 make.bottom.equalTo(self.view).offset(-); }]; #pragma mark label1 UILabel *label1 = [UILabel new]; label1.backgroundColor = [UIColor greenColor]; [self.view addSubview:label1]; // 布局label1 // 先布局参照视图,否则约束容易丢失 [label1 mas_makeConstraints:^(MASConstraintMaker *make) { //和label左边一致 // equalTo(自定义视图),需要设置视图的属性 // 如果是数值为0可以不写offset() make.leading.equalTo(label.mas_leading); //和label右边一致 make.trailing.equalTo(label.mas_trailing); //上边距离label50 make.top.equalTo(label.mas_bottom).offset(); // 高度60 // mas_equalTo(数值) make.height.mas_equalTo(); }]; #pragma mark label2 UILabel *label2 = [UILabel new]; label2.backgroundColor = [UIColor cyanColor]; [self.view addSubview:label2]; // 设置距离参照视图的内边距(上左下右) UIEdgeInsets padding = UIEdgeInsetsMake(, , , ); [label2 mas_makeConstraints:^(MASConstraintMaker *make) { // make.top.equalTo(self.view).offset(400); // make.left.equalTo(self.view).offset(100); // make.right.equalTo(self.view).offset(-100); // make.bottom.equalTo(self.view).offset(-100); // 设置约束视图的边界距离self.view边界值 make.edges.equalTo(self.view).insets(padding); }]; #pragma mark label3 UILabel *label3 = [UILabel new]; label3.backgroundColor = [UIColor orangeColor]; [self.view addSubview:label3]; [label3 mas_makeConstraints:^(MASConstraintMaker *make) { // 设置中心点一致 make.center.equalTo(label2); // 设置大小 // make.width = label2.width - 40 // make.height = label2.height - 60 make.size.equalTo(label2).sizeOffset(CGSizeMake(-, -)); }]; }
Masonry的简单使用的更多相关文章
- Masonry的简单使用(一)
Masonry的简单使用(一) 一.新建工程 二.导入Masonry,可从我的GitHub上获取"Masonry":https://github.com/sycFuture/Mas ...
- iOS开发 Masonry的简单使用
首先,在正式使用Masonry之前,我们先来看看在xib中我们是如何使用AutoLayout 从图中我们可以看出,只要设置相应得局限,控制好父视图与子视图之间的关系就应该很ok的拖出你需要的需 ...
- 第三方框架-纯代码布局:Masonry的简单使用
Masonry是一个对系统NSLayoutConstraint进行封装的第三方自动布局框架,采用链式编程的方式提供给开发者API.系统AutoLayout支持的操作,Masonry都支持,相比系统AP ...
- SDAutoLayout:比masonry更简单易用的自动布局库
SDAutoLayout:一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于做最简单易用的AutoLayout库. [SDAutoLa ...
- Coding源码学习第四部分(Masonry介绍与使用(三))
接上篇继续进行Masonry 的学习. (12)tableViewCell 布局 #import "TableViewController.h" #import "Tes ...
- 自动布局库--Masonry使用
参考资料(戳这里): > Masonry官网 > Masonry介绍与使用实践(快速上手Autolayout) > iOS 开发实践之 Auto Layout > Ma ...
- iOS 资源大全
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...
- IOS中文版资源库
Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会被标记为 ▲. [转自]https://github.com/jobbole/awesome-ios-cn#librari ...
- 墙裂推荐 iOS 资源大全
这是个精心编排的列表,它包含了优秀的 iOS 框架.库.教程.XCode 插件.组件等等. 这个列表分为以下几个部分:框架( Frameworks ).组件( Components ).测试( Tes ...
随机推荐
- JS中获取和操作iframe
一.需求与遇到的问题 在网站的后台管理中使用了iframe框架布局,包括顶部菜单.左侧导航和主页面.需求是:点击主页面上的一个按钮,在顶部菜单栏的右侧显示“退出”链接,点击可退出系统. 我的思路是:在 ...
- elya:给移动APP创业者的工具集(一)
作为移动APP的创业者,往往遇到的困扰是,人家都开发过的功能了,劳资还得辛辛苦苦开发一遍,比如说什么积分系统啊,什么IM组件啊,什么滤镜啊,而且发一个版本官网就得改一次,做一次微信营销就要开发个H5页 ...
- linux下JUCE源码编译依赖库
JUCE 源码https://github.com/julianstorer/JUCE 想在ubuntu下编译需要提前安装以下依赖库 sudo apt-get install mesa-common- ...
- [MySQL]mysql指定路径启动
/usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --pid-fil ...
- JUCE_FIFO实现分析
JUCE_FIFO代码简单剖析,此处的剖析就是给自己留一个方便查询的内容:不做太多内容的要求,只做简单的记录:本文以初学者的角度来些,大牛请飘过O(∩_∩)O FIFO的功能在博客的其他帖子里面已经有 ...
- AngularJS 讲解,四 Directive
AngularJS Directive 自定义指令(我最喜欢AngularJs的功能之一) 一:什么时候我们会用到directive 1.使html更具语义化,不用深入了解研究代码的逻辑便可知道大致 ...
- javascript-函数及兼容
1.事件绑定,删除,传播,默认方式,获取类型的兼容 var eventList = { //添加事件兼容 addEvent:function (event,type,backevent) { if ( ...
- java实现——009Fibonacci数列
1.循环 public class T009 { public static void main(String[] args){ System.out.println(fibonacci(3)); } ...
- CSS十问
CSS十问——好奇心+刨根问底=CSSer 最近有时间,想把酝酿的几篇博客都写出来,今天前端小学生带着10个问题,跟大家分享一下学习CSS的一些体会,我觉得想学好CSS,必须保持一颗好奇心和刨根问 ...
- 学习生命周期activity
2014年4月2日 08:31:27 开始学习activity周期, 简单了解了几个方法,写了几个打印语句,知道了先后顺序