1

我正在尝试将我的视图顶部约束(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 库可以做到这一点吗?

4

1 回答 1

1

而不是contentView.mas_heightuse 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);
}];

斯威夫特等效

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)
}
于 2019-05-15T08:30:13.553 回答