Установка кладки x / y ограничений в процентах от ширины / высоты просмотров - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь установить ограничение верхней части моих представлений (значение 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);
}];

Однако этот подход не работает. Возможно ли это с библиотекой масонства?

1 Ответ

1 голос
/ 15 мая 2019

Вместо contentView.mas_height используйте contentView.mas_bottom, попробуйте установить ограничение labelView.top или labelView.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)
}
...