#import "ViewController.h"
#import "Masonry.h"
#define kWeakSelf(weakSelf) __weak typeof(self)weakSelf = self
#define WS(weakSelf) __weak __typeof(&*self)weakSelf = self
@interface ViewController ()
{
UIView *topView;
}
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
kWeakSelf(ws);
/**底部灰色view*/
topView = [[UIView alloc]init];
topView.backgroundColor = [UIColor lightGrayColor];
[ws.view addSubview:topView];
[topView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(ws.view);
make.size.mas_equalTo(CGSizeMake(, )); }];
/**表面红色view*/
UIView *redView= [[UIView alloc]init];
redView.backgroundColor = [UIColor redColor];
[topView addSubview:redView];
[redView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(topView).with.insets(UIEdgeInsetsMake(, , , )); }]; /**
创建三个等宽等高等间距view
*/
/**左边view*/
UIView *leftView = [[UIView alloc]init];
leftView.backgroundColor = [UIColor blueColor];
[redView addSubview:leftView];
/**右边view*/
UIView *rightView = [[UIView alloc]init];
rightView.backgroundColor = [UIColor brownColor];
[redView addSubview:rightView]; /**最有边view*/
UIView *lastView = [[UIView alloc]init];
lastView.backgroundColor = [UIColor yellowColor];
[redView addSubview:lastView]; CGFloat padding = .f;
//左边view添加约束
[leftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(redView.mas_centerY);
make.left.equalTo(redView.mas_left).with.offset(padding);
make.right.equalTo(rightView.mas_left).with.offset(-padding);
make.height.mas_equalTo(@);
make.width.equalTo(rightView);
}];
//右边view添加约束
[rightView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.mas_equalTo(redView.mas_centerY);
make.left.equalTo(leftView.mas_right).with.offset(padding);
make.right.equalTo(lastView.mas_left).with.offset(-padding); make.height.mas_equalTo(@);
make.width.equalTo(lastView); }];
//最右边view添加约束
[lastView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.mas_equalTo(redView.mas_centerY);
make.left.equalTo(rightView.mas_right).with.offset(padding);
make.right.equalTo(redView.mas_right).with.offset(-padding);
make.width.equalTo(rightView);
make.height.mas_equalTo(@);
}];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; } @end

ios - masonry第三方库使用自动布局(参考:http://www.cocoachina.com/ios/20141219/10702.html)的更多相关文章

  1. Swift中的Masonry第三方库——SnapKit

    在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库,发现使 ...

  2. IOS常用第三方库《转》

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  3. iOS常用第三方库大全,史上最全第三方库收集

    下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableVie ...

  4. Swift中的Masonry第三方库——SnapKit

        在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库 ...

  5. iOS之第三方库以及XCode插件介绍

    前言 第三方库是现在的程序员离不开的东西 不光是APP开发 基本上所有的商业项目 都会或多或少的使用到第三方库 Github上Star>100的开源库数量如下 可以看到JS以绝对的优势排名第一 ...

  6. ios 引入第三方库 运行时找不到函数实现

    今天引入webtrends 这个库,结果一直运行时找不到函数,纳闷了一下午! 后来发现,是other flag没有设置对,对于那些包含category用来扩展ios原始类型的库,链接的时候需要特别的链 ...

  7. iOS开发第三方库一 IQKeyboardManager

    每一个iOS应用的开发者在工作中都会遇到需要用户键盘输入数据的需求,而输入框(UITextField/UITextView)的父界面可能是普通的UIView,也可能是UIScrollView,UITa ...

  8. iOS:第三方库使用非ARC编译

    iOS: 解决某些第三方库因为ARC不能使用的问题 1.在target下面的build phases下有一个compile source,下面有很多待编译文件.可以看到一个compile flag,可 ...

  9. ios常用第三方库git下载地址

    本文转载至 http://blog.csdn.net/cerastes/article/details/38348599 iOS第三方库下载常用git 1.FMDB https://github.co ...

随机推荐

  1. this、super关键字以及他们各自的作用

    this:代表当前对象的引用,谁来调用我,我就代表谁 super:代表当前对象父类的引用 this和super的使用区别 A:调用成员变量 this.成员变量  调用本类的成员变量,也可以调用父类的成 ...

  2. BZOJ 1688: [Usaco2005 Open]Disease Manangement 疾病管理 状压DP + 二进制 + 骚操作

    #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) #defin ...

  3. [bzoj2044] 三维导弹拦截 (二分图最大匹配+dp)

    传送门 Description 一场战争正在A国与B国之间如火如荼的展开. B国凭借其强大的经济实力开发出了无数的远程攻击导弹,B国的领导人希望,通过这些导弹直接毁灭A国的指挥部,从而取得战斗的胜利! ...

  4. 自己总结的php开发中用到的工具

    需要一个编辑器IDE,推荐用phpstorm. IDE安装完了,还要搞个Xdebug,这个很有用,程序断点跟踪调试就靠他了. phpstom平时使用的时候,编辑界面感觉很枯燥的时候,可以换个主题,换主 ...

  5. javascript正则表达式总结(test|match|search|replace|split|exec)

    test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str ...

  6. python爬虫09 | 上来,自己动 !这就是 selenium 的牛逼之处

    作为一个男人 在最高光的时刻 就是说出那句 之后 还不会被人打 ... 虽然在现实生活中你无法这样 但是在这里 就让你体验一番 那种呼风唤雨的感觉 我们之前在爬取某些网站的时候 使用到了一些 pyth ...

  7. 使用requirejs模块化开发多页面一个入口js的使用方式

    描述 知道requirejs的都知道,每一个页面需要进行模块化开发都得有一个入口js文件进行模块配置.但是现在就有一个很尴尬的问题,如果页面很多的话,那么这个data-main对应的入口文件就会很多. ...

  8. eclipse重置页面恢复到最初布局状态

    eclipse重置页面恢复到最初布局状态 window->perspective->reset perspective

  9. EditText焦点问题

    1.在一个Activity中加入一个EditText后,每次进入这个Activity时输入法都会自己主动弹出来.非常烦,找了些资料,在此记下解决的方法: 方法:在EditText的父控件中获得焦点.这 ...

  10. adb命令查看报名和查看手机分辨率

    打开所要查看的应用包名: $ adb shell dumpsys activity top | head -n 10 TASK com.ss.android.article.news id=5 ACT ...