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 ...
随机推荐
- JOSN反串行化
JOSN编码的数据可以使用eval函数生产操作的类型. <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC " ...
- python模块 ---logging模块
摘要by crazyhacking: 与log4cxx一样,分为三个部分,logger, handler,formatter. 详细内容参考:1官网http://docs.python.org/2/h ...
- 170112、solr从服务器配置整合到项目实战
整合网上资源后 100%可运行的配合步骤,部署在tomcat 为例. 一:下载solr,版本为5.2.1 地址:http://pan.baidu.com/s/1eRAdk3o 解压出来. 1.在解压的 ...
- GoEasy消息推送
1. 从GoEasy获取appkey appkey是验证用户的有效性的唯一标识. 注册账号. GoEasy官网:https://goeasy.io 用注册好的账号登录到GoEasy的后台管理系统,创建 ...
- 解决浏览器不支持HTML5和CSS3
Modernizr插件可用于解决:<响应式web设计>提及! 其他: 第一种方法:IE9以下版本的IE将创建HTML5标签, 非IE浏览器会忽略这段代码,因此不会发生http请求,也就不影 ...
- libtask channel机理及调度理解
学习golang的时候libtask库的代码是一定要看的,需要深入理解chan和携程的运行机制,下面就结合libtask的源码说明下运行原理,如果理解的有偏差欢迎指正 下面是libtask中Chann ...
- JavaScript------处理Json数据
//JSON相关函数 JSON.parse(); //将JSON字符串转换为JavaScript对象JSON.stringify(); //将JavaScript值转换为JSON字符串 1.//JSO ...
- Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol
Oracle 12c 如果java报这个错误,用oracle自带的ojdbc6.jar,可以解决这个问题.
- Vim 第一天
记得第一次接触vi编辑器,好像是在海尔的机房吧,那是时候还是没有毕业的小菜鸟一只(PS:现在也是菜鸟),记得是测试一个云存储的产品.看着他们用vi编辑器,当时也没有感觉有什么(现在也没感觉……),只是 ...
- linux下简单限制网卡速度
Linux下限制网卡的带宽,可用来模拟服务器带宽耗尽,从而测试服务器在此时的访问效果. 1.安装iproute yum -y install iproute 2.限制eth0网卡的带宽为50kbit: ...