2017-01-21 7 views
0

Мне очень понравилась библиотека масонства. Это избавляет меня от конфликтов Apple Autolayout.Как разместить 2 динамическую ширину UILabel для просмотра с ограничениями масонства?

Я решаю большинство своих проблем с этой библиотекой. Но я не мог достичь одной цели.

В одном UIView есть 2 ярлыка. Обе эти метки имеют динамическую ширину. Я написал этот код и проблемы произошли

[self.nameLabel makeConstraints:^(MASConstraintMaker *make) { 
     make.centerY.equalTo(self.bottomContainer.centerY); 
     make.left.equalTo(self.left).with.offset(@10); 
     make.width.lessThanOrEqualTo(@120); 
     make.leading.equalTo(self.priceLabel.trailing); 
    }]; 

    [self.priceLabel makeConstraints:^(MASConstraintMaker *make) { 
     make.centerY.equalTo(self.bottomContainer.centerY); 
     make.right.equalTo(self.right).with.offset(@-10); 
     make.width.lessThanOrEqualTo(@150); 
    }]; 

Problem

Что я должен сделать, чтобы избежать такого рода проблем?

+1

Вы должны играть с приоритетами и минимальными значениями –

ответ

0

я решил мою проблему с этим кодом:

[self.nameLabel makeConstraints:^(MASConstraintMaker *make) { 
     make.centerY.equalTo(self.bottomContainer.centerY); 
     make.left.equalTo(self.left).with.offset(@10); 
     make.trailing.equalTo(self.priceLabel.leading); 
    }]; 

    [self.priceLabel makeConstraints:^(MASConstraintMaker *make) { 
     make.centerY.equalTo(self.bottomContainer.centerY); 
     make.right.equalTo(self.right).with.offset(@-10); 
    }]; 


    [self.priceLabel setContentCompressionResistancePriority: UILayoutPriorityDefaultHigh forAxis: UILayoutConstraintAxisHorizontal]; 
    [self.nameLabel setContentCompressionResistancePriority: UILayoutPriorityDefaultLow forAxis: UILayoutConstraintAxisHorizontal]; 

Спасибо

 Смежные вопросы

  • Нет связанных вопросов^_^