У меня есть мнение, которое имеет UILabel, UITableView (tblFilters
) и UIView (btnBaseView
) (держать три других UIButtons) Пожалуйста проверите изображение ниже: - Autolayout Ограничения Приоритет не Разрешающая
мне нужно расширить tblFilters
высоту, чтобы продемонстрировать возможности для каждой категории, но нужно иметь btnBaseView
всегда видны на экране. Таким образом, высота tblFilters
не должна превышать лимит.
Для этого я наложил высоту на btnBaseView
и дал ей Обязательно приоритет. Точно так же tblFilters
имеет ограничение по высоте, но DefaultHigh приоритет.
// Height Constraint of btnBaseView. Height Should always be >=116
btnSectionHeightConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[btnBaseView(>=116)]" options:0 metrics:nil views:@{@"btnBaseView":btnBaseView}];
[[btnSectionHeightConstraint firstObject] setPriority:UILayoutPriorityRequired];
[self addConstraints:btnSectionHeightConstraint];
// TableView Height Constraint. Height value is being changed when user click on "+" button of table section.
tableHeightConstraints = [NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:[tblFilters(>=%f)]",176.0] options:0 metrics:nil views:@{@"tblFilters":tblFilters}];
[[tableHeightConstraints firstObject] setPriority:UILayoutPriorityDefaultLow];
[self addConstraints:tableHeightConstraints];
Но эта схема не кажется, работает, как Tableview покрывает всю BaseView и протолкнул btnBaseView
из видимой области.
Я попытался сохранить приоритет DefaultLow до tblFilters
, но без эффекта. Когда я отлаживаю код после изменения ограничения по высоте tblFilters
, он печатает правильный вывод приоритета в консоли, но не влияет на представление.
Может кто-нибудь, пожалуйста, помогите мне в определении проблемы, почему приоритет ограничения не работает должным образом или я неправильно понимаю эту концепцию. Любая помощь приветствуется.
Спасибо за ответ. Я уже применял первое ограничение 2, теперь я добавил третий. Тем не менее он не работает. – Gandalf
Мне интересно. Это 2 ограничения в вопросе? потому что мое предложенное ограничение не совпадает с вашим. – nRewik
Не совсем, я применил множество других ограничений, связанных с каждым выравниванием и интервалом управления. В вопросе я упомянул только о соответствующих. – Gandalf