将砌体 x/y 约束设置为视图的百分比 width/height

Setting masonry x/y constraints as a percentage of the views width/height

我试图将我的视图顶部约束(y 值)设置为父视图高度的百分比(乘数)。我需要使用参考而不是值约束来解释设备旋转。

我在非自动布局中尝试的等效内容如下:

[self.labelView setFrame:CGRectMake(0, self.frame.size.height * 0.8, self.frame.size.width, 20)];

我想要实现的是将视图的 TOP 约束设置为父视图高度的 80%,如下所示:

[self.labelView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.equalTo(self.contentView.mas_height).multipliedBy(0.8);
    make.left.and.right.equalTo(self.contentView);
    make.height.equalTo(20);
}];

但是,这种方法行不通。 Masonry 库可以做到这一点吗?

而不是 contentView.mas_height 使用 contentView.mas_bottom,尝试设置 labelView.toplabelView.bottom 约束,我 认为 两者都应该产生同样的结果:

[labelView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.bottom.equalTo(self.contentView.mas_bottom).multipliedBy(0.8);
    make.left.and.right.equalTo(self.contentView);
    make.height.equalTo(@20);
}];

Swift相当于

labelView.mas_makeConstraints { (make:MASConstraintMaker!) in
    make.bottom.equalTo()(self.contentView.mas_bottom)!.multipliedBy()(0.8)
    make.left.and().right().mas_equalTo()(self.contentView)
    make.height.mas_equalTo()(20.0)
}