Masonry
2016-04-15 13:25
549 查看
1、Masonry使用心得:
Masonry是目前最流行的AutoLayout框架。
使用Masonry不需要设置控件的translatesAytoresizingMaskIntoConstraints的属性为NO。
使用Masonry添加兄弟控件约束不需要考虑父控件。
Masonry使用技巧:
定义以下两个宏,在使用Masonry框架时就不需要加mas_前缀了
(定义宏一定要在引入Masonry.h文件之前)。
(1)定义这个常量如果你想使用砌体没有“mas_”前缀
#define MAS_SHORTHAND
(2)定义这个常量,如果你想启用自动装箱的默认语法
#define MAS_SHORTHAND_GLOBALS
使用:将Masonry文件包拖入项目,删掉自带的info.plist文件.demo中对Masonry的引用在.pch文件中.
使用Masonry不需要设置
控件的translatesAutoresizingMaskIntoConstraints属性为NO;
内边距为50:
第一种实现方式
第二种实现方式
(定义宏一定要在引入Masonry.h文件之前).
文/飞将(简书作者)
原文链接:http://www.jianshu.com/p/d172131d24c9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
Masonry是目前最流行的AutoLayout框架。
使用Masonry不需要设置控件的translatesAytoresizingMaskIntoConstraints的属性为NO。
使用Masonry添加兄弟控件约束不需要考虑父控件。
Masonry使用技巧:
定义以下两个宏,在使用Masonry框架时就不需要加mas_前缀了
(定义宏一定要在引入Masonry.h文件之前)。
(1)定义这个常量如果你想使用砌体没有“mas_”前缀
#define MAS_SHORTHAND
(2)定义这个常量,如果你想启用自动装箱的默认语法
#define MAS_SHORTHAND_GLOBALS
使用:将Masonry文件包拖入项目,删掉自带的info.plist文件.demo中对Masonry的引用在.pch文件中.
使用Masonry不需要设置
控件的translatesAutoresizingMaskIntoConstraints属性为NO;
Masonry简单实现
(左下角正方形):[targetView mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.equalTo(self.view).offset(-20); make.leading.equalTo(self.view).offset(20); make.size.mas_equalTo(CGSizeMake(100, 100)); }];
内边距为50:
第一种实现方式
make.leading.top.mas_equalTo(@50); make.trailing.bottom.mas_equalTo(@-50);
第二种实现方式
make.edges.insets(UIEdgeInsetsMake(50, 50, 50, 50));
Masonry使用技巧:
定义以下两个宏,在使用Masonry框架时就不需要加mas_前缀了(定义宏一定要在引入Masonry.h文件之前).
//define this constant if you want to use Masonry without the 'mas_' prefix #define MAS_SHORTHAND //define this constant if you want to enable auto-boxing for default syntax #define MAS_SHORTHAND_GLOBALS
使用Masonry添加兄弟控件约束不需要考虑父控件.
具体实现代码如下:[leftView mas_makeConstraints:^(MASConstraintMaker *make) { make.leading.offset(20); make.bottom.offset(-20); make.trailing.equalTo(rightiew.leading).offset(-20); make.height.equalTo(100); make.height.equalTo(rightiew.height); }]; [rightiew makeConstraints:^(MASConstraintMaker *make) { make.trailing.equalTo(self.view.trailing).offset(-20); make.top.equalTo(leftView.top); make.width.equalTo(leftView.width); }];
文/飞将(简书作者)
原文链接:http://www.jianshu.com/p/d172131d24c9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- iOS开发之路--微博“更多”页面
- iOS开发之路--微博骨架搭建
- iOS开发使用JSON解析网络数据
- IOS开发代码分享之获取启动画面图片的string
- iOS开发实现音频播放功能
- iOS开发之视图切换
- iOS开发使用XML解析网络数据
- IOS开发实现录音功能
- iOS开发之UIScrollView详解
- IOS开发之路--C语言数组和字符串
- iOS开发之触摸事件
- IOS开发代码分享之用nstimer实现倒计时功能
- iOS开发使用GDataXML框架解析网络数据
- iOS开发之UITableView详解
- IOS开发代码分享之设置UISearchBar的背景颜色
- ios推送证书
- iOS和tvOS游戏按需加载资源简介
- ios开发之环境搭建-01
- 在开发iOS程序时对日期处理的总结