美文网首页
masonry学习

masonry学习

作者: 心情的蛊惑 | 来源:发表于2017-03-24 15:28 被阅读25次
masonry 属性:

@property (nonatomic, strong, readonly) MASConstraint *left;        //左侧

@property (nonatomic, strong, readonly) MASConstraint *top;        //上侧

@property (nonatomic, strong, readonly) MASConstraint *right;      //右侧

@property (nonatomic, strong, readonly) MASConstraint *bottom;  //下侧

@property (nonatomic, strong, readonly) MASConstraint *leading;  //首部

@property (nonatomic, strong, readonly) MASConstraint *trailing;  //尾部

@property (nonatomic, strong, readonly) MASConstraint *width;    //宽

@property (nonatomic, strong, readonly) MASConstraint *height;    //高

@property (nonatomic, strong, readonly) MASConstraint *centerX;  //横向居中

@property (nonatomic, strong, readonly) MASConstraint *centerY;  //纵向居中

@property (nonatomic, strong, readonly) MASConstraint *baseline; //文本基线

使用:

1,先创建一个View

UIView *sv = [UIView new];

sv.backgroundColor = [UIColor blackColor];

2,添加到父视图上

//autolayout之前,先将View添加到supview上

[self.view addSubview:sv];

3,设置约束

[sv mas_makeConstraints:^(MASConstraintMaker *make) {

//设置sv的中心

make.center.equalTo(ws.view);

//设置sv的宽高

make.size.mas_equalTo(CGSizeMake(200, 200));

}];

4,创建了一个新的View,添加到上一个view上,并设置约束

UIView *sv1 = [UIView new];

sv1.backgroundColor = [UIColor redColor];

[sv addSubview:sv1];

[sv1 mas_makeConstraints:^(MASConstraintMaker *make) {

//设置各个方向的缩进(三种方法)

(1)// make.edges.equalTo(sv).with.insets(UIEdgeInsetsMake(10, 10, 12, 10));

(2)/*make.top.equalTo(sv).with.offset(10);(上)

make.left.equalTo(sv).with.offset(10);(左)

make.bottom.equalTo(sv).with.offset(-10);(下)

make.right.equalTo(sv).with.offset(-10);(右)*/

(3)make.top.left.bottom.and.right.equalTo(sv).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));

}];

注意:make.right.equalTo(sv).with.offset(10);

make.right.equalTo(sv.mas_left).with.offset(10);

这两行表示含义不同,前者是相对sv的右边,后者是相对sv的左边.也就是说当equalTo后面没写相对哪一边时默认和make.后面的方向一致.

/*

mas_makeConstraints只负责新增的约束,autoLayout不能同时存在两条针对同一对象的约束,负责会报错

mas_updateConstraints针对上面的情况,会更新在block中出现的约束,不会导致出现两个同一约束的情况,必须针对同一个参照对象,使用时必须加上[super updateViewConstraints];这句代码

mas_remakeConstraints则会清除之前所有的约束,仅仅保留最新的约束,block里面就是你所要添加的新约束.

*/

相关文章

  • Masonry学习

    Masonry是一个轻量级的OC布局框架, 拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了,并具有...

  • masonry学习

    如果不加入MAS_SHORTHAND_GLOBALS那么equalTo代表的是一个函数 这个函数还没有组装数据结构...

  • masonry学习

    使用: 1,先创建一个View 2,添加到父视图上 3,设置约束 4,创建了一个新的View,添加到上一个view...

  • Masonry 学习

    现在iPhone手机屏幕越来越多, 屏幕适配也越来越重要. Masonry就是为屏幕适配而生的三方框架. Maso...

  • iOS Autolayout之Masonry解读

    Masonry Masonry是公认非常简洁优美的一款Autolayout框架 我推荐大家重点学习这个框架 我会把...

  • iOS - Masonry使用中的一些整理

    [置顶]iOS - Masonry使用中的一些整理 标签:iOS资源大全iOS常用方法iOS学习资料Masonry...

  • Masonry 介绍 2018-01-29

    介绍 Masonry 源码:https://github.com/Masonry/Masonry Masonry是...

  • 关于Masonry小记

    Masonry 源码:https://github.com/Masonry/Masonry Masonry是一个轻...

  • Masonry的用法

    Masonry 源码:https://github.com/Masonry/Masonry; 看一下Masonry...

  • Masonry实现简单动画

    1.安装Masonry库pod 'Masonry' 2.导入Masonry import

网友评论

      本文标题:masonry学习

      本文链接:https://www.haomeiwen.com/subject/dedfottx.html