Masonry第三方代码约束
#import "RootViewController.h"
#import "Masonry.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view. #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,可以不设置参照视图的属性
offset:距离数值
*/
make.top.equalTo(self.view).offset(); // 距离左边100
make.left.equalTo(self.view).offset(); // 距离右边100
make.right.offset(-); // 距离下面500
make.bottom.offset(-); }]; #pragma mark - label1 // 添加约束,不需要设置frame
UILabel *label1 = [UILabel new];
label1.backgroundColor = [UIColor greenColor]; // 添加到父视图上,视图添加完成后才能进行布局
[self.view addSubview:label1]; // 先布局参照视图,否则约束容易丢失
[label1 mas_makeConstraints:^(MASConstraintMaker *make) { // 和label左边一致
// equalTo(自定义的视图),需要设置视图的属性,如果数值为0,可以不写offset()
make.leading.equalTo(label.mas_leading); // 和label右边一致
make.trailing.equalTo(label.mas_trailing); // 上边距离label 50
make.top.equalTo(label.mas_bottom).offset(); // 高度60
make.height.mas_equalTo(); }]; #pragma mark - label2 UILabel *label2 = [[UILabel alloc] init];
label2.backgroundColor = [UIColor orangeColor];
[self.view addSubview:label2]; // [label2 mas_makeConstraints:^(MASConstraintMaker *make) {
//
// make.left.offset(100);
// make.right.offset(-100);
// make.top.offset(400);
// make.bottom.offset(-100);
// }]; // 设置距离参照视图的内边距(上左下右)
UIEdgeInsets padding = UIEdgeInsetsMake(, , , ); [label2 mas_makeConstraints:^(MASConstraintMaker *make) { // 设置约束视图的边界距离self.view的边界值
// make.edges.equalTo(self.view).insets(padding);
make.edges.insets(padding);
}]; #pragma mark - label3 UILabel *label3 = [[UILabel alloc] init];
label3.backgroundColor = [UIColor purpleColor];
[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(-, )); }];
} @end
Masonry第三方代码约束的更多相关文章
- 代码:Masonry 第三方框架
必备宏使用前提: //define this constant if you want to use Masonry without the 'mas_' prefix #define MAS_SHO ...
- Masonry控制台打印约束冲突问题解决
不知道你是不是视图的布局也是用的第三方Masonry,在使用中是不是也遇到了控制台约束冲突的警告打印,看下图: 从输出的信息可以知道,有的控件的约束明显重复了设置,所以指出了是哪个控件,重复设置了哪些 ...
- Swift中的Masonry第三方库——SnapKit
在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库,发现使 ...
- 如何安全修改cocoapods上的第三方代码
其实搞java的都知道maven管理,解决第三方代码修改的办法就是架一个服务器,把这些修改的库放在这里,然后再maven里配置哪些需要用本地仓库的.其实cocoapods也可以做本地包管理: 大致方法 ...
- 使用xcodeproj 动态插入第三方代码
# 为什么这么做? 现在有这么一个使用场景,基线能生成项目A,项目B,项目C...如果只有项目A中使用SDK_A,其他项目都不使用,这时候就需要对基线进行差分,只有当我切换到项目A时,才插入SDK_A ...
- 【原】iOS学习之Masonry第三方约束
1.Masonry概述 目前最流行的Autolayout第三方框架 用优雅的代码方式编写Autolayout 省去了苹果官方恶心的Autolayout代码 大大提高了开发效率 框架地址:https:/ ...
- iOS-原生纯代码约束总结(二)之 AutoLayout
一,概述 AutoLayout相比AutoResizing更加实用,是可以完全替代AutoResizing的一种自动布局方式.而在使用AutoLayout前,我们必须理解一个属性,那就是transla ...
- Masonry remake更新约束
前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...
- Masonry 动画更新约束
前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...
随机推荐
- Enjoy Android
大趋势所迫,开始学习Android, @mark一下
- 编写高质量JS代码的68个有效方法(十)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- sizeof()用法汇总【转载】
转载自:http://www.cnblogs.com/chengxin1982/archive/2009/01/13/1374575.html 参考:http://blog.csdn.net/free ...
- sql order by 排序多个字段
order by 多个字段,每个字段后面都有排序方式,默认ASC 例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc
- [转载]AxureRP 7.0部件详解(一)
本文为Axure RT7.0教程,本章主要介绍menu菜单.table表格.Tree Widget 树部件三个部件,后续将持续更新...... Menu 菜单 常用案例 网站导航菜单部件通常用于母板之 ...
- 【分布式】RPC初探
事先声明:本文代码参考自Dubbo作者的博客. RPC(Remote Procedure Call)远程过程调用,是分布式系统当中必不可少的一个玩意.比如说在单机系统当中,我想调用某个方法,直接调就可 ...
- Xcode-调试断点不能停在代码区终极解决方案
转发 调试断点不能停在代码区终极解决方案: http://mobile.51cto.com/iphone-390082.htm
- Android学习笔记之如何使用圆形菜单实现旋转效果...
PS:最近忙于项目的开发,一直都没有去写博客,是时候整理整理自己在其中学到的东西了... 学习内容: 1.使用圆形菜单并实现旋转效果.. Android的圆形菜单我也是最近才接触到,由于在界面 ...
- Mysql学习笔记(九)索引查询优化
PS:上网再次看了一下数据库关于索引的一些细节...感觉自己学的东西有点少...又再次的啃了啃索引.... 学习内容: 索引查询优化... 上一章说道的索引还不是特别的详细,再补充一些具体的细节... ...
- C# 获取磁盘空间大小的方法
方法一:利用System.IO.DriveInfo.GetDrives方法来获取 /// /// 获取指定驱动器的空间总大小(单位为B) /// /// 只需输入代表驱动器的字母即可 (大写) /// ...