Подтвердить что ты не робот

Высота автовыброса, равная MAX (несколько высот обзора)

Скажем, у меня есть вид под названием container. container содержит 5 UIButtons. Я хочу добавить высоту NSLayoutConstraint на container, и эта высота должна быть равна NSLayoutHeightAttribute самой высокой кнопки в своих подзонах.

Я не вижу прямого способа сделать это. У кого-нибудь есть идеи?

4b9b3361

Ответ 1

Вам нужно одно ограничение для каждого элемента subview (кнопка), указав, что высота контейнера должна быть больше или равна высоте подсказки. Дайте этому ограничению высокий приоритет, например UILayoutPriorityRequired (который по умолчанию по умолчанию).

Затем добавьте еще одно ограничение на высоту контейнера, указав, что оно должно иметь высоту, равную нулю. Дайте этому ограничению низкий приоритет, например UILayoutPriorityLow. Поскольку автоматический макет пытается свести к минимуму ошибку неудовлетворенных ограничений, он сделает контейнер максимально коротким, сохраняя при этом все ограничения с более высоким приоритетом.

Я привел пример в этот смысл. Он производит этот результат:

примерный снимок экрана

Синие точки имеют фиксированные высоты. Вид загар - это вид сверху синих видов, и его высота ограничена, как я описал выше. Я привязал каждое нижнее дно к нижней части контейнера, но вы могли бы закрепить вершины или центры Y.