Избегайте увеличения высоты кнопки из-за увеличения высоты кнопки в ячейке - PullRequest
0 голосов
/ 14 октября 2019

У меня есть пользовательский XIB, в котором у меня есть две кнопки, которые я прикрепил к левому и правому краям и добавил ограничения сверху, слева и снизу для leftButton (с именем First Button) и сверху, справа и снизу для rightButton (вторая кнопка)

enter image description here

Теперь моя проблема возникает, когда я добавляю заполнение только к правой кнопке (Вторая кнопка) .

Поскольку левый имеет верхнее и нижнее ограничения, а добавление отступа вправо увеличивает contentSize вида, также как и размер leftButton

enter image description here

Я проверил высоту обеих кнопок внутри «Иерархии представления отладки», и они разные (левая меньше и правая больше)

enter image description here

Чего я хочу добиться: Увеличьте высоту правой кнопки (вторая кнопка), но оставьте высоту левой кнопки (первая кнопка) как

То, что я пробовал до сих пор:

Для leftButton (Первая кнопка)

  • Я попытался изменить приоритет «Вертикальное обтягивание контента», но это не делаетразница

  • Уменьшен приоритет верхнего и нижнего ограничения с 1000 до 999, так что, возможно, предпочтение будет отдано высоте (которая меньше, чем в иерархии представления отладки)

РЕДАКТИРОВАТЬ

Ведущее поле >=10 Ошибка

enter image description here

1 Ответ

0 голосов
/ 14 октября 2019

Попробуйте это:

  • Левая кнопка

    • ограничение Приводит к суперпредставлению
    • ограничение CenterY к суперпредставлению
    • ограничениеСверху и снизу >= желаемое значение
  • Правая кнопка

    • ограничить трейлинг к суперпредставлению
    • ограничить CenterY к суперпредставлению
    • ограничить верх и низ до >= желаемое значение

РЕДАКТИРОВАТЬ

Чтобы объяснить ваши действиявопрос ...

Изменение левой кнопки, ведущей с = 10 на >= 10, не удовлетворяет автоматическому макету:

enter image description here

Вы хотите, чтобы это было 10? 11? 20? Авторазметка видит только то, что вам нужно >= 10.

Если вы добавите ограничение между кнопками:

enter image description here

Сейчасмы говорим об автоматическом расположении: удерживайте 60 пунктов между кнопками и не менее 10 пунктов для левой кнопки.

Когда заголовок правой кнопки становится немного длиннее:

enter image description here

Автоматическая разметка «сдвигает» левую кнопку влево, оставляя между ними 60 пунктов.

Если у нас не хватает места:

enter image description here

Автоматическое расположение по-прежнему удерживает 60 пунктов между кнопками - при перемещении левой кнопки влево - но поддерживает как минимум (>=) 10 очков.

Как вы видите, для сжатия одной из кнопок потребуется ... поэтому вам нужно дать одной кнопке больше Content Compression Resistance Priority, чем другой, чтобы автоматическое расположение знало, какую из них вы хотитесжать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...