Mansory中mas_equalTo和equalTo的区别

1、equalTo:仅支持基本类型

mas_equalTo:是对equalTo的封装,它支持类型转换,支持复杂类型。比如:CGSize CGPoint NSNumber UIEdgeinsets。

他们之间的相互转换的关系:
make.width.equalTo(@12);
make.width.mas_equalTo(12);

源码如下:

#define mas_equalTo(...)                 equalTo(MASBoxValue((__VA_ARGS__)))
#define mas_greaterThanOrEqualTo(...)    greaterThanOrEqualTo(MASBoxValue((__VA_ARGS__)))
#define mas_lessThanOrEqualTo(...)       lessThanOrEqualTo(MASBoxValue((__VA_ARGS__)))
#define mas_offset(...)                  valueOffset(MASBoxValue((__VA_ARGS__)))

2、mas_equalTo是一个Macro,mas_equalTo比较的是值,而equalTo比较的是View。
以下实现的是相同的效果
make.bottom.mas_equalTo(ws.view.mas_bottom);
make.bottom.equalTo(ws.view);

3、去掉mas_前缀,只用equalTo即可,添加到.prefix文件

// 添加这个宏,就不用带mas_前缀

define MAS_SHORTHAND

// 添加这个宏,equalTo就等价于mas_equalTo

define MAS_SHORTHAND_GLOBALS

// 这个头文件一定要放在上面两个宏的后面

import "Masonry.h"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.Masonry是什么: 答:是一个很好的三方,用来做适配的 Masonry是ios中用代码实现自动布局的一个框...
    小小小Lucky阅读 4,373评论 0 0
  • (一)Masonry介绍 Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布...
    木易林1阅读 7,116评论 0 3
  • Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性...
    3dcc6cf93bb5阅读 5,817评论 0 1
  • 介绍 Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有...
    執筆寫童話0907阅读 4,288评论 1 2
  • 昨晚我姐跟两个外甥在我家住下了,早上四个孩子早早就起来了,看电视,玩儿玩具,吵的我也没睡好,以为过年了呢……...
    画心ll阅读 1,280评论 0 0