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

У меня есть проект, в котором два горизонтальных вида стека упакованы в (основной) вертикальный вид стека.Каждый горизонтальный вид стека содержит кнопку и переключатель.

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

Вот как это выглядит в Интерфейсном Разработчике:

enter image description here

Ниже показано, как это выглядит в симуляторе:

enter image description here

Нет ограничений между кнопкой иПереключайтесь, так как каждый раз, когда я упаковываю эти элементы в горизонтальном представлении стека, все ограничения теряются.

Я создал ограничения, указав Ограничить поля :

enter image description here

Я пытался найти решение здесь но я не нашел его.

Я довольно растерян, что я делаю не так?Почему переключатель выходит за пределы экрана, несмотря на ограничения?Я что-то упускаю из-за ограничений?

1 Ответ

0 голосов
/ 18 декабря 2018

Во-первых, похоже, что ваши кнопки должны быть метками.Кнопки не любят иметь несколько строк контента.Если вам нужно, чтобы ярлык по какой-то причине был наклеиваемым, вы можете сделать это.

Во-вторых, вам нужно снизить приоритет сопротивления сжатия горизонтального содержимого ярлыка (или кнопки) до 749, чтобыниже, чем у коммутатора (по умолчанию 750).Таким образом, они не будут сражаться друг с другом за позицию: переключатель победит, и ярлык позволит себе уступить позиции, даже когда его текст станет больше.

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

enter image description here

Я думаю, что это гораздо лучший способ достижения ваших целей.Табличное представление не должно выглядеть как табличное представление;на снимке экрана выше, табличное представление не может прокручиваться, его ячейки не могут быть выбраны, и у него нет разделителей ячеек.Но повторение ячейки, состоящей из метки и переключателя, гораздо легче и гибче достигается, чем то, что вы делаете;несложно расширить то, что я делаю, на многие другие вопросы и поменяться местами, в то время как то, что вы делаете, не будет легким или приятным для увеличения.

...