Как расставить приоритеты для нескольких => ограничений, чтобы они вступили в силу в определенном порядке - PullRequest
0 голосов
/ 09 мая 2018

Итак, я пытаюсь создать такое представление, которое можно масштабировать на всех устройствах iPhone от iPhone X до iPhone SE.

Три ограничения отмечены на экране с именами 1, 2 и 3. Все три из этих ограничений имеют атрибут Greater than equal to с минимальным буфером 5 points из полей.

Теперь я хотел бы увидеть это представление о iPhone SE, семействе iPhone 8 и семействе plus, но я бы хотел указать, что:

  1. ограничение 1 должно сначала уменьшиться в размере,
  2. ограничение 2 должно уменьшиться в размере секунды, а
  3. ограничение 3 должно уменьшиться в размере третьего

enter image description here

Я пробовал несколько конфигураций с приоритетами, и хотя моя интуиция подсказывает мне, что может быть решение в значениях content hugging и compression resistance, они не доступны для самих ограничений.

Как я могу сделать это в конструкторе интерфейсов?

1 Ответ

0 голосов
/ 14 мая 2018

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

1a. Ограничение по вертикали> = мин, приоритет 1000
1б. Вертикальное ограничение пространства = максимум, приоритет 900
2а. Ограничение по вертикали> = мин, приоритет 1000
2b. Вертикальное ограничение пространства = максимум, приоритет 910
3a. Ограничение по вертикали> = мин, приоритет 1000
3b. Ограничение по вертикали = максимум, приоритет 920

Где min - минимальное желаемое расстояние, а max - максимальное расстояние. 1a и 1b соответствует вашему ограничению 1 и т. Д.

Обратите внимание на две вещи: если ваш просмотр становится меньше, чем разрешено со всеми приоритетами на min, вы получите ошибки макета. Если представление больше всех значений max, расстояние first (самый низкий приоритет) будет увеличено.

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