Masonry中的mas_equalTo和equalTo
整完Cocoapods后,博主又马不停蹄的学习了Masonry的代码约束添加,博主喜欢纯代码,不过以前一直都是相对布局,虽然Masonry出了时间不短了,却一直没有学,所以学习这个也是顺应时代潮流吧,用了之后确实感觉挺好用的。
但是博主在使用中遇到了mas_equalTo和equalTo这两个属性,有啥区别?网上一查都没有很明确的说明是干啥,给我把类别里的宏定义夫指出来接个意思?后来博主自己看了下,equalTo的类型为id,里面不能直接填数字,如果非要填,需要这么填:
make.width.equalTo(@100);
否则会报错。
而mas_equalTo填的啥?
make.width.mas_equalTo(100);
直接就是数字,而且看宏定义,mas_equalTo是对参数进行转化后得到匹配的参数,所以,综上可以看出,mas_equalTo和equalTo实际上是一样的,只是各自类型不一样。如果你要直接写数字,上面的两种办法都是可行的。如果是
make.left.equalTo(gray1.mas_right);
这样,需要equalTo,ma s_equalTo不可。
另外self一定要宏定义为weak:
#define WS(weakSelf) __weak __typeof(&*self)weakSelf = self;
除此还有其他的比较好玩的属性,初学者理解起来还是存在偏差的,如果你刚好看到这篇博客,如果你还有地方不理解,请留言。
关于Masonry有很多种写法,根据个人习惯不同,使用这两种方法,但是很多时候效果是一样的。即使全用mas_equalTo或equalTo也行,目前按照上面说的方法使用暂未发现两者出错,博主会不断补充。
补充说明:
1.mas_equal可以添加非数字:
make.top.mas_equalTo(lastView.mas_bottom);
但是equal想要添加数字却要加@。
Masonry中的mas_equalTo和equalTo相关推荐
- 解决Masonry 中equalTo和mas_equalTo 乱用的问题
其实 mas_equalTo是一个MACRO,比较的是值,equalTo比较的是view. 注意:如下方式引入会和自定义View约束冲突引发异常!所以还是建议老老实实的不要用如下宏定义: // 只要添 ...
- Masonry中的mas_makeConstraints方法
一.简单介绍 我们一般来说会这样进行使用 [view mas_makeConstraints:^(MASConstraintMaker *make) {//这个使用的就是MASCompositeCon ...
- Mansory之一 :mas_equalTo和equalTo区别与使用
一.equalTo:仅支持基本类型 mas_equalTo:支持类型转换,支持复杂类型.是对equalTo的封装.支持CGSize CGPoint NSNumber UIEdgeinsets. 以下实 ...
- 第三方 Masonry约束的使用
给Autolayout披上一层漂亮的外衣之后,将其称为Masonry,但Masonry的本质还是Autolayout.可以理解为Masonry是对Autolayout的封装. 对于一个约束.他实际表示 ...
- Masonry使用中equalTo和mas_equalTo的区别
equalTo的类型为id,里面不能直接填数字,如果非要填,需要这么填: make.width.equalTo(@100); mas_equalTo是对参数进行转化后得到匹配的参数, make.wid ...
- iOS 自动布局框架 – Masonry 详解
来源:伯乐在线 - 刘小壮 如有好文章投稿,请点击 → 这里了解详情 如需转载,发送「转载」二字查看说明 目前iOS开发中大多数页面都已经开始使用Interface Builder的方式进行UI开发了 ...
- iOS Masonry的使用详解
Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X.Masonry是一个用代码写iOS或OS ...
- iOS自动布局框架-Masonry详解
目前iOS开发中大多数页面都已经开始使用Interface Builder的方式进行UI开发了,但是在一些变化比较复杂的页面,还是需要通过代码来进行UI开发的.而且有很多比较老的项目,本身就还在采用纯 ...
- iOS开发之第三方框架Masonry
2019独角兽企业重金招聘Python工程师标准>>> 第三方框架Masonry 该框架可以大大简化AutoLayout使用过程中对控件添加约束的代码. 框架地址:https://g ...
最新文章
- 实战 用户登录、session校验、分布式存储session
- Miniconda3+Tensorflow2.3(GPU版)+Win10_x64+GTX1060深度学习环境搭建
- AX2009报表打印固定长度Barcode条码
- python的数学模块是什么_Python的数学模块Think Python
- Yahoo! 的数据仓库: 世界上最大最忙
- python分类算法的应用_07-机器学习_(lineage回归分类算法与应用) ---没用
- Linux 用户名、主机添加背景色
- H5 中 bordercolorlight 属性的用法及作用
- Java字节流的使用
- mysql now的时间问题
- Python+pandas实现时间序列数据扩展案例一则
- openwrt php 吃内存,ipkg, opkg 与 openWrt
- ACL2020 | 词向量性别偏见
- MEncoder的基础用法——6.9. 将DVD子标题提取到VOBsub文件
- Thor 1.5.3中文版 (使用自定义按键启动软件)
- 在电脑中怎样画思维导图
- 印象笔记 Markdown使用指南
- XYIXY.COM短网址在线生成,快速、稳定、永久有效,免费开放网址缩短API接口。...
- java jisuan da xie zi mu ge shu_Java 实现汉字转换为拼音的实例
- OPPOa5m手机Android,OPPO A5怎么样?OPPO A5手机体验评测