- 浏览: 59823 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (93)
- java (3)
- ios (9)
- wp (15)
- android (0)
- js (1)
- 服务器 (0)
- db (0)
- linux (1)
- python (0)
- xcode (0)
- ide (2)
- maven (0)
- spring (0)
- sql (0)
- 第三方 (1)
- nexus (0)
- nginx (11)
- tomcat (0)
- jenkins (0)
- zookeeper (1)
- git (1)
- svn (0)
- uml (0)
- redis (4)
- activemq (1)
- flume (0)
- kafka (0)
- mysql (1)
- memcached (0)
- mybatis (0)
- mac (0)
- mongo (1)
- docker (6)
- cache (0)
- jvm (0)
- markdown (0)
- springboot (24)
- mycat (3)
- LTS (3)
- 运维 (0)
- opts (1)
- netty (1)
- tcc (0)
- ffmpeg (2)
- 直播 (6)
- cxf (0)
- nodejs (0)
- storm (0)
- elasticjob (0)
- php (0)
最新评论
https://github.com/SnapKit/Masonry
pod 'Masonry'
- (void)viewDidLoad {
[super viewDidLoad];
// 使用 Masonry 布局,基本可以抛弃 CGRectMake 了,直接初始化即可。
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor darkGrayColor];
// 在做布局之前,一定要先将 view 添加到 superview 上,否则会报错。
[self.view addSubview:view];
// mas_makeConstraints 就是 Masonry 的 autolayout 添加函数,将所需的约束添加到block中就行。
[view mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置居中
make.center.equalTo(self.view);
// 设置宽度为200
make.width.equalTo(@200);
// 设置高度为200
make.height.mas_equalTo(200);
}];
}
//三个并排的view
- (void)viewDidLoad {
[super viewDidLoad];
// 初始化视图
UIView *view1 = [[UIView alloc] init];
view1.backgroundColor = [UIColor redColor];
[self.view addSubview:view1];
UIView *view2 = [[UIView alloc] init];
view2.backgroundColor = [UIColor yellowColor];
[self.view addSubview:view2];
UIView *view3 = [[UIView alloc] init];
view3.backgroundColor = [UIColor greenColor];
[self.view addSubview:view3];
// 布局视图
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置中心点
make.centerY.mas_equalTo(self.view);
// 设置左侧距离父视图10像素
make.left.equalTo(self.view).offset(10);
// 设置右侧距离和view2的左侧相距10像素
make.right.equalTo(view2.mas_left).offset(-10);
// 设置高度
make.height.mas_equalTo(200);
// 设置宽度和view2以及view3相等
make.width.equalTo(@[view2, view3]);
}];
[view2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.view);
make.height.mas_equalTo(view1);
make.width.equalTo(@[view1, view3]);
}];
[view3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.view);
make.left.equalTo(view2.mas_right).offset(10);
make.right.equalTo(self.view).offset(-10);
make.height.mas_equalTo(view1);
make.width.equalTo(@[view1, view2]);
}];
}
Masonry 的注意项
1、使用mas_makeConstraints方法的元素必须事先添加到父元素的中,例如:[self.view addSubview:view];
2、mas_equalTo和equalTo区别:mas_equalTo比equalTo多了类型转换操作,一般来说,大多数时候两个方法都是通用的,但是对于数值元素使用mas_equalTo。对于对象或是多个属性的处理,使用equalTo。特别是多个属性时,必须使用equalTo,例如:make.left.and.right.equalTo(self.view);。
3、注意方法with和and,这两个方法其实没有做任何操作,方法只是返回对象本身,这个方法的左右完全是为了方法写的时候的可读性 ,如下两行代码是完全一样的,但是明显加了and方法的语句可读 性更高点。
1.设置间距后用offset添加偏移量
make.left.equalTo(self.view.mas_left).offset(0);
2.设置宽的比例
make.width.equalTo(self.view.mas_width).multipliedBy(0.5)
3.设置参照的视图等宽高
make.width.and.height.equalTo(self.imageView);
4.设置内边距
make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));
pod 'Masonry'
- (void)viewDidLoad {
[super viewDidLoad];
// 使用 Masonry 布局,基本可以抛弃 CGRectMake 了,直接初始化即可。
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor darkGrayColor];
// 在做布局之前,一定要先将 view 添加到 superview 上,否则会报错。
[self.view addSubview:view];
// mas_makeConstraints 就是 Masonry 的 autolayout 添加函数,将所需的约束添加到block中就行。
[view mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置居中
make.center.equalTo(self.view);
// 设置宽度为200
make.width.equalTo(@200);
// 设置高度为200
make.height.mas_equalTo(200);
}];
}
//三个并排的view
- (void)viewDidLoad {
[super viewDidLoad];
// 初始化视图
UIView *view1 = [[UIView alloc] init];
view1.backgroundColor = [UIColor redColor];
[self.view addSubview:view1];
UIView *view2 = [[UIView alloc] init];
view2.backgroundColor = [UIColor yellowColor];
[self.view addSubview:view2];
UIView *view3 = [[UIView alloc] init];
view3.backgroundColor = [UIColor greenColor];
[self.view addSubview:view3];
// 布局视图
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置中心点
make.centerY.mas_equalTo(self.view);
// 设置左侧距离父视图10像素
make.left.equalTo(self.view).offset(10);
// 设置右侧距离和view2的左侧相距10像素
make.right.equalTo(view2.mas_left).offset(-10);
// 设置高度
make.height.mas_equalTo(200);
// 设置宽度和view2以及view3相等
make.width.equalTo(@[view2, view3]);
}];
[view2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.view);
make.height.mas_equalTo(view1);
make.width.equalTo(@[view1, view3]);
}];
[view3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.view);
make.left.equalTo(view2.mas_right).offset(10);
make.right.equalTo(self.view).offset(-10);
make.height.mas_equalTo(view1);
make.width.equalTo(@[view1, view2]);
}];
}
Masonry 的注意项
1、使用mas_makeConstraints方法的元素必须事先添加到父元素的中,例如:[self.view addSubview:view];
2、mas_equalTo和equalTo区别:mas_equalTo比equalTo多了类型转换操作,一般来说,大多数时候两个方法都是通用的,但是对于数值元素使用mas_equalTo。对于对象或是多个属性的处理,使用equalTo。特别是多个属性时,必须使用equalTo,例如:make.left.and.right.equalTo(self.view);。
3、注意方法with和and,这两个方法其实没有做任何操作,方法只是返回对象本身,这个方法的左右完全是为了方法写的时候的可读性 ,如下两行代码是完全一样的,但是明显加了and方法的语句可读 性更高点。
1.设置间距后用offset添加偏移量
make.left.equalTo(self.view.mas_left).offset(0);
2.设置宽的比例
make.width.equalTo(self.view.mas_width).multipliedBy(0.5)
3.设置参照的视图等宽高
make.width.and.height.equalTo(self.imageView);
4.设置内边距
make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));
发表评论
-
ios:IJKMediaPlayer
2017-09-27 12:02 885https://github.com/Bilibili/ijk ... -
ios:jspatch
2017-06-14 15:44 672jspatch https://jspatch.com/Doc ... -
ios:fastlane
2017-06-06 11:48 697gem install fastlane 基于linux : ... -
ios 常量
2017-01-12 11:14 0NSString * const MyOwnConstant ... -
ios testflight
2017-01-12 10:51 0testflight testflight testfligh ... -
ios perFormSelector
2017-01-10 17:38 0perFormSelector是编译时候动态的去找方法的,在编 ... -
ios NSRunLoop
2017-01-10 17:10 0一个ios程序启动后,只有短短的十行代码居然能保持整个应用程序 ... -
ios viewDidUnload分析
2017-01-10 17:13 0viewDidUnload运行前提: 1.内存不足时执行,执 ... -
ios NSAutoreleasePool
2017-01-10 17:13 0NSAutoreleasePool对象引用自动处理器,他是一个 ... -
ios:oc实现排序算法
2017-01-11 13:32 583下面是我用oc实现的快速排序,冒泡排序,直接插入排序和折半插入 ... -
ios:设计模式
2017-06-06 12:51 319=============================== ... -
ios category
2017-01-10 16:25 0=============================== ... -
ios block property
2017-01-10 16:20 0============================ Lo ... -
ios controller解耦
2017-01-10 15:30 0使用: [self.ynav openURL:[NSURL U ... -
ios:jsbridge
2017-06-06 11:54 475=============================== ... -
ios:beehive
2017-06-06 11:50 464添加PrefixHeader.pch:参见:(http://w ... -
ios code
2016-12-18 12:14 00. po self._textViewContent. ... -
ios:pods安装
2016-09-20 13:42 4841.安装xcode 2.安装commad line ...
相关推荐
【标题】"IOS Masonry-master" 是一个针对iOS开发的屏幕适配库,它提供了强大的自动布局功能。这个开源项目让开发者能够更加灵活、高效地处理界面元素的约束,简化了Auto Layout的使用过程。 【描述】在iOS应用开发...
`iOS-Masonry Cell 动态高度 自动布局 Autolayout.zip`这个压缩包中包含了一个名为`MASCellTest`的项目,它展示了如何利用Masonry库来实现UITableViewCell的动态高度计算。Masonry是一个基于AutoLayout的轻量级框架...
Masonry是一个流行的第三方库,它为iOS开发者提供了更简洁、灵活的方式来实现自动布局,尤其适合代码控件的开发者。 Masonry是由Jason Clemons创建的,它的核心思想是使用链式语法,使得设置约束的过程更加清晰和...
本项目中的"ios-Masonry对TableViewCell进行自动布局.zip"是一个示例,演示了如何使用Masonry在TableViewCell中实现点击展开和折叠的效果,这在列表展示中非常常见,例如在新闻详情、层级结构数据展示等场景。...
这个“ios-根据Masonry自动布局Cell自适应高度.zip”文件提供了一个使用Masonry库来实现这个功能的例子。Masonry是一款强大的自动布局库,它使得在Swift或Objective-C中进行自动布局变得更为简洁。 Masonry的核心...
在iOS开发中,Masonry是一个流行的布局库,它为Auto Layout提供了一种更简洁、更易读的语法,特别适合于纯代码的界面构建。本文将深入探讨如何使用Masonry来以纯代码的方式计算UITableViewCell的高度。 首先,我们...
Masonry布局动态标签,View,cell中自适应,不需要计算高度。 介绍:https://www.jianshu.com/p/6fd8449ac2f8; demo地址:https://github.com/liuxinixn/LXTagsView
在iOS开发中,Masonry是一款强大的自动布局库,它提供了简洁的语法,使得开发者能够更加高效地处理Auto Layout。这个“ios-Masonry系列使用场景总结.zip”文件包含了关于Masonry的详细教程和一个名为“MasonryDemo”...
在iOS开发中,Masonry是一个强大的自动布局库,它提供了简洁的语法来创建Auto Layout约束,使得布局工作更加高效和直观。本知识点将深入探讨如何使用Masonry来实现cell的高度自适应,以及如何构建一个简易的聊天界面...
Masonry 是一个强大的 iOS 开发框架,主要用于 Auto Layout 的编程接口。它是由 SnapKit 提供支持,是一个基于 Objective-C 的库,但也适用于 Swift 项目。Masonry 的主要优点在于其简洁、灵活的语法,使开发者能够...
《Masonry:强大的iOS AutoLayout库解析》 在iOS应用开发中,AutoLayout是苹果提供的一种布局机制,它使得开发者可以构建适应不同屏幕尺寸和设备方向的用户界面。然而,AutoLayout的原生API在使用时可能会显得复杂...
在iOS开发中,Masonry是一个强大的自动布局库,它提供了链式语法,使得开发者能够更加简洁、直观地处理视图的约束布局。本Demo旨在展示如何利用Masonry进行界面适配,让开发者能够快速上手并高效地实现复杂的界面...
《iOS开发:Masonry框架的使用指南》 在iOS应用开发中,布局是构建用户界面的关键环节。Masonry是一款强大的自动布局库,它基于NSLayoutConstraint,提供了简洁的API,使得开发者能够更方便地进行界面布局。本文将...
最近稍微闲了一些,决定把之前漏掉的知识再补充一下,然后发现在使用Masonry的时候动画怎么实现呢?于是经过练习和查找相关方法,终于找到了正确的做法,希望能够对有需要的人提供一些帮助。 正文 简单来说Masonry的...
根据大家反映之前上传的版本连接http://code.cocoachina.com/view/133241是在Xcode 7.2下创建的,年前公司忙着赶项目,没来的及处理,Xcode 8.0以后,运行这个连接http://code.cocoachina.com/view/133241下载的代码,会...
在iOS开发中,Masonry是一款强大的自动布局库,它提供了简洁、链式语法来设置视图的约束,使得布局代码更加清晰易读。本压缩包包含的资源将深入讲解Masonry在不同场景下的应用,包括基本用法、与UIScrollView的结合...
总的来说,Masonry作为iOS开发中的一个利器,能够帮助开发者更高效地利用Auto Layout,让布局工作变得轻松而优雅。它的链式语法、简洁的API和强大的功能,使得Masonry在iOS社区中广受欢迎,成为许多开发者首选的自动...
Masonry 是一个强大的 iOS 自动布局库,它基于苹果的 Auto Layout API,提供了一套简洁、链式语法的接口,让开发者能够更加高效地处理视图的约束布局问题。Masonry 的设计理念是使得代码更加清晰易读,同时提高布局...
Masonry 是一个流行的 iOS 开发框架,用于进行自动布局(Auto Layout)的代码编写。它提供了简洁、链式语法,让开发者能更高效地管理视图的约束,从而实现界面的自适应布局。在这个“照着Masonry敲了遍代码”的项目...
在iOS开发中,Masonry是一款非常流行的自动布局库,它基于AutoLayout,但提供了一种更简洁、链式的方式来设置视图的约束。这个“ios-masonry的插件设置约束.zip”文件似乎包含了一个关于如何在本地项目中集成并使用...