美文网首页
masonry编写约束,默认的priority是1000

masonry编写约束,默认的priority是1000

作者: zhangyin | 来源:发表于2016-10-14 18:19 被阅读3150次

先看一个例子:

    [self.valueLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
        UIView *superView = self.contentView;
        make.left.equalTo(self.titleLabel.mas_right).offset(24.0f);
        make.top.equalTo(self.titleLabel.mas_top);
        make.bottom.equalTo(self.titleLabel.mas_bottom);
        make.right.equalTo(superView.mas_right).offset(-padding);
    }];

在这个例子中,每个约束的priority的默认值是1000

然后,再看一个例子:

    [self.valueLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
        UIView *superView = self.contentView;
        make.left.equalTo(self.titleLabel.mas_right).offset(24.0f);
        make.top.equalTo(self.titleLabel.mas_top);
        make.bottom.equalTo(self.titleLabel.mas_bottom);
        make.right.equalTo(superView.mas_right).offset(-padding).priorityHigh();
    }];

在这个例子中,右边距使用了priorityHigh(),看定义,hight的值是750

    typedef UILayoutPriority MASLayoutPriority;
    static const MASLayoutPriority MASLayoutPriorityRequired = UILayoutPriorityRequired;
    static const MASLayoutPriority MASLayoutPriorityDefaultHigh = UILayoutPriorityDefaultHigh;
    static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 500;
    static const MASLayoutPriority MASLayoutPriorityDefaultLow = UILayoutPriorityDefaultLow;
    static const MASLayoutPriority MASLayoutPriorityFittingSizeLevel = UILayoutPriorityFittingSizeLevel;
static const UILayoutPriority UILayoutPriorityDefaultHigh NS_AVAILABLE_IOS(6_0) = 750; // This is the priority level with which a button resists compressing its content.

于是乎,写约束的时候,要注意下,不要以为priorityHight() 就是最高级别了,其实最高级别是 required(1000)。
优先级 在做一些微妙的调整时,可以起到四两拨千斤的效果;


生活不只是眼前的苟且,
还有...
...
...
...
...
...
远方的苟且

每个约束的priority的默认值是1000,我怎么知道?

相关文章

  • masonry编写约束,默认的priority是1000

    先看一个例子: 在这个例子中,每个约束的priority的默认值是1000 然后,再看一个例子: 在这个例子中,右...

  • StroyBoard

    动态布局 1.设置约束的active属性 2.第二种方法 设置priority 默认的750 250 1000

  • Autolayout进阶之代码编写约束(二)

    上篇文章Autolayout进阶之代码编写约束(一)中介绍了怎么用Masonry来实现代码编写约束,这篇文章就来探...

  • 10.3 Masonry多视图约束

    Masonry多视图约束 Masonry多视图约束.png

  • 0707-Masonry

    Masonry masonry中去处mas的宏 masonry的使用方法 约束添加基本方式 约束的类型: 尺寸:w...

  • IOS基础-Masonry 练习-02

    Masonry练习补充内容 Masonry更新约束 添加一个按钮,点击之后变小 Masonry重置约束 它和更新类...

  • Masonry

    在使用Masonry进行约束时,有一些是需要注意的。 在使用Masonry添加约束之前,需要在addSubview...

  • 自动布局

    约束优先级:在Autolayout中每个约束都有一个优先级,优先级的范围是1 ~ 1000;创建一个约束,默认的优...

  • 自动布局

    约束优先级:在Autolayout中每个约束都有一个优先级,优先级的范围是1 ~ 1000;创建一个约束,默认的优...

  • Masonry源码浅析

    OC 常用的约束框架是Masonry,而swift常用的是SnapKit,不过今天就只看看Masonry。 先看个...

网友评论

      本文标题:masonry编写约束,默认的priority是1000

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