masonry

  • 框架地址: https://github.com/SnapKit/Masonry

  • 使用步骤

    • 添加Masonry文件夹的所有源代码到项目中
    • 添加2个宏、导入主头文件
      // 只要添加了这个宏,就不用带mas_前缀
      #define MAS_SHORTHAND
      // 只要添加了这个宏,equalTo就等价于mas_equalTo
      #define MAS_SHORTHAND_GLOBALS
      // 这个头文件一定要放在上面两个宏的后面
      #import "Masonry.h"
      
  • mas_equalTo和equalTo
默认情况下
mas_equalTo有自动包装功能,比如自动将20包装为@20
equalTo没有自动包装功能

如果添加了下面的宏,那么mas_equalTo和equalTo就没有区别
#define MAS_SHORTHAND_GLOBALS
// 注意:这个宏一定要添加到#import "Masonry.h"前面
  • 可有可无的用法
以下方法都仅仅是为了提高可读性,可有可无
- (MASConstraint *)with {
    return self;
}

- (MASConstraint *)and {
    return self;
}
  • mas_width和width
默认情况下
width是make对象的一个属性,用来添加宽度约束用的,表示对宽度进行约束
mas_width是一个属性值,用来当做equalTo的参数,表示某个控件的宽度属性

如果添加了下面的宏,mas_width也可以写成width
#define MAS_SHORTHAND

mas_height、mas_centerX以此类推

-

1. 这个方法会添加新的约束
    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
    }];
2. 这个方法会将以前的所有约束删掉,添加新的约束
    [blueView mas_remakeConstraints:^(MASConstraintMaker *make) {
    }];
3.  这个方法将会覆盖以前的某些特定的约束
    [blueView mas_updateConstraints:^(MASConstraintMaker *make) {
    }];
  • 常用约束

    约束的类型:
    1.尺寸:width\height\size
    2.边界:left\leading\right\trailing\top\bottom
    3.中心点:center\centerX\centerY
    4.边界:edges
    
  • 常见用法

    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.width.equalTo(@100);
        make.height.mas_equalTo(100);
//        make.centerX.mas_equalTo(self.view.mas_centerX);
//        make.centerY.mas_equalTo(self.view).multipliedBy(0.5);
        make.center.multipliedBy(0.5);
父控件的四周
 [blueView mas_makeConstraints:^(MASConstraintMaker *make) {

//        make.edges.mas_equalTo(self.view);
//        make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsZero);
        make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(50, 50, 50, 50));
    }];

results matching ""

    No results matching ""