Представьте себе случай, когда у вас есть три кнопки рядом. Вы хотите, чтобы три кнопки заполнили доступную ширину и были идеальными квадратами с установленным минимальным размером и заданным расстоянием между ними. Чтобы настроить это, у вас должны быть следующие ограничения:
A:
Соотношение 1:1 к A
Ведущий к супервизору
Ширина и высота >= 25
B:
Равная ширина и высота A
Ведущий к A: 50
C:
Равная ширина и высота A
Ведущий к B: 50
Замыкающий до суперпредставления
Теперь представьте, что доступная ширина достаточно мала, так что не хватает горизонтального пространства, чтобы гарантировать, что кнопки представляют собой идеальный квадрат с 50 между каждой из них. Вместо того, чтобы нарушать соотношение сторон и ограничение ширины, вы хотели бы уменьшить расстояние между кнопками. Мой вопрос в том, как вы это делаете?
Я думал, что просто изменю отношение ведущих ограничений, чтобы оно было меньше или равно, но это приводит к неоднозначности ограничения неравенства с этими двумя ограничениями. Я подумал, что, возможно, мне нужно указать минимальное значение для интерлиньяжа, поэтому я добавил еще два ограничения интерлиньяжа, установленные на значение больше или равное 10. Это не устранило двусмысленность. Затем я добавил еще один набор ведущих ограничений, на этот раз равный установленному значению, которое находится между двумя значениями, затем я уменьшил их приоритет. Это разрешило двусмысленность, однако расстояние между кнопками никогда не уменьшается — это всегда значение, которое я установил для ограничения с ограничением equals, несмотря на его пониженный приоритет.
Какие ограничения необходимо установить для этого?
- Три кнопки отображаются рядом в одном горизонтальном пространстве.
- Все три кнопки идеальные квадраты
- Минимальный размер кнопок (25x25)
- Установленное количество пространства между ними - 50
- Когда горизонтальное пространство слишком мало для обеспечения соблюдения всех ограничений, это должно уменьшить количество пространства между кнопками.