Ширина кнопки в горизонтальном стеке - iOS - Раскадровка - PullRequest
0 голосов
/ 31 января 2019

У меня есть два элемента управления в вертикальном представлении стека, и ниже моя проблема

Я хочу, чтобы мои элементы управления отображались следующим образом

enter image description here

Вместо этого он отображается следующим образом:

enter image description here

Как настроить подгонку заголовка кнопки, чтобы ширина кнопки не увеличивалась

Такженазвание кнопки является динамическим, поэтому я не могу установить его в качестве постоянного значения

Пожалуйста, совет

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Есть несколько способов сделать это.Хотя UIStackView не необходим , он может сэкономить несколько шагов при настройке ограничений.

Итак, вот один из подходов:

  • I 'я ограничил мое представление стека 20-pts вершинами, ведущими и конечными (безопасная зона), но без ограничений по дну или высоте.
  • Для стека установлено значение Alignment: Center Distribution: Fill Spacing: 2
  • Кнопки имеют вставки содержимого 40 для левого и правого каналов и 4 для верхних и нижних.Это позволит им растягиваться / сжиматься по горизонтали на основе динамических заголовков.
  • Я назначил для меток ограничение высоты 28,5 (так, только небольшое вертикальное заполнение), и дал им Equal-Width ограничений для стекового представления.
  • Текстовое поле также имеет Equal-Width ограничение для стекового представления.

enter image description here

Таким образом, кнопки остаются в центре и корректируют свою ширину по заголовкам, а метки и текстовое поле растягиваются, чтобы соответствовать ширине стека.

0 голосов
/ 31 января 2019

Я бы посоветовал использовать установить метод увеличения содержания .Если вы делаете свое представление программно, оно должно выглядеть примерно так:

myButton.setContentHuggingPriority(.required, for: .horizontal)
...