Во-первых, похоже, что ваши кнопки должны быть метками.Кнопки не любят иметь несколько строк контента.Если вам нужно, чтобы ярлык по какой-то причине был наклеиваемым, вы можете сделать это.
Во-вторых, вам нужно снизить приоритет сопротивления сжатия горизонтального содержимого ярлыка (или кнопки) до 749, чтобыниже, чем у коммутатора (по умолчанию 750).Таким образом, они не будут сражаться друг с другом за позицию: переключатель победит, и ярлык позволит себе уступить позиции, даже когда его текст станет больше.
Сказав это, я думаю, вы могли быбыть намного счастливее с другим базовым интерфейсом.Представление стека и, в частности, представления стека, действующие как одинаковые строки, встроенные в представление вертикального стека, не очень подходят для того, что вы делаете.Вот то же самое, что и в виде таблицы:
Я думаю, что это гораздо лучший способ достижения ваших целей.Табличное представление не должно выглядеть как табличное представление;на снимке экрана выше, табличное представление не может прокручиваться, его ячейки не могут быть выбраны, и у него нет разделителей ячеек.Но повторение ячейки, состоящей из метки и переключателя, гораздо легче и гибче достигается, чем то, что вы делаете;несложно расширить то, что я делаю, на многие другие вопросы и поменяться местами, в то время как то, что вы делаете, не будет легким или приятным для увеличения.