iOS: изменение высоты TextField в StackView (внутри StackView) - PullRequest
0 голосов
/ 11 апреля 2019

Я использую Xcode 10 / Swift 5 / iOS 12 и получил этот макет:

enter image description here

Красный (вертикальный) StackView установлен на:

  • Распределение: «Fill Equally»
  • Высота: 300 (фиксированная)
  • Рамка: 10 (с каждой стороны)
  • Интервал: 10

5 горизонтальных вложенных стеков:

  • Распределение: «Fill Equally»
  • 52 пикселя каждый ((300-40) / 5) - не исправлено!

Синий вид просто занимает оставшееся место на экране (сверху выровнен по красному StackView, а снизу над «SuperView»).

Метки автоматически занимают 52 пикселя, но я хочу, чтобы два текстовых поля были ровно 30 пикселей (+11 выше / ниже). Если я просто устанавливаю высоту, InterfaceBuilder жалуется на конфликт и фактически ничего не меняет.

Как мне установить их высоту без изменения высоты окружающего горизонтального StackView?

1 Ответ

1 голос
/ 11 апреля 2019

Вот одно из решений - при условии, что вы хотите, чтобы каждая «строка» в вашем представлении стека имела высоту 52 пункта (метки имеют зеленый фон, просто для того, чтобы их кадры было легче видеть).

enter image description here

Красный вид стека:

Alignment: Fill
Distribution: Fill Equally
Spacing: 10

Каждый горизонтальный вид стека:

Alignment: Center
Distribution: Fill Equally
Spacing: 0

Red View - который содержит Red Stack View и Blue View - ограничен в нуле SuperView со всех четырех сторон.

Red Stack View ограничен Top, Leading и Trailing к своему SuperView (который составляет Red View) в 10 пунктах.

Blue View ограничен Ведущими, Следующими и Нижними к своему SuperView (который составляет Red View) на 10 пунктов, и Верхним на 10 пунктов к Нижним Red Stack View.

Единственное ограничение Высота установлено на Date Stack View ... Height = 52. Поскольку Red Stack View имеет распределение, установленное на Fill Equally, остальные горизонтальные стеки автоматически получат высоту 52.

И, установив Alignment: Center на каждом горизонтальном виде стека, упорядоченные подпредставления будут выровнены по центру на эту высоту 52 пт.

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