ios-Masonry各属性说明

直接进入主题

类似top和mas_top的区别

top是MASConstraintMaker的属性,mas_top是view的分类属性。所以会有下面的代码:

make.top.equalTo(self.view.mas_top).offset(10);

因为平时我们肯定会用到类似UIView+Extension的分类,为了避免和这些分类中的方法重名,才会有类似mas_top、mas_center的出现。
总之make后面用top,view后面用mas_top。

equalTo和mas_equelTo的区别

equalTo()后面参数的是一个对象,而mas_equelTo后面的参数为值。

make.width.equalTo(view2);
make.height.mas_equalTo(200);

当然下面的写法也是正确的,在equalTo对象传入NSNumber对象

make.height.equalTo(@200);

inset、sizeOffset、offset、centerOffset的区别

inset 只能描述Top,Left,Bottom, Right这几个属性的偏移量的,centerX、size等属性用inset设置偏移则无效。
offset 是描述所有的NSLayoutAttribute对象,描述Top,Left,Bottom, Right的时候和inset通用

make.top.equalTo(self.view).inset(10);
make.top.equalTo(self.view).offset(10);
这两句代码是一样的

不过两者也有区别,inset和insets的用法差不多,值为正数时往视图内部偏移,负数则往远离视图的方向偏移。而offset后面设置的数值则是以坐标系为准。

make.bottom.equalTo(self.view).inset(10);
make.bottom.equalTo(self.view).offset(-10);
这两句代码是等价的

sizeOffset修饰size

make.size.equalTo(view2).sizeOffset(CGSizeMake(10, -20));

centerOffset

make.center.equalTo(view2).centerOffset(CGPointMake(0, 100));

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

推荐阅读更多精彩内容

  • (一)Masonry介绍 Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布...
    木易林1阅读 2,372评论 0 3
  • Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性...
    3dcc6cf93bb5阅读 1,802评论 0 1
  • iOS_autoLayout_Masonry 概述 Masonry是一个轻量级的布局框架与更好的包装AutoLay...
    指尖的跳动阅读 1,185评论 1 4
  • 一、前言 关于苹果的布局一直是我比较纠结的问题,是写代码来控制布局,还是使用storyboard来控制布局呢?以前...
    iplaycodex阅读 2,470评论 0 1
  • 【小花涵涵】学习力四期践行D83 2017-02-14 1. 磨耳朵--安妮花鹅妈妈,今天拿出笔来点读了一会安妮花...
    苏夏的后花园阅读 108评论 0 0