Проблемы при встраивании UIStackView в UIScrollView - PullRequest
0 голосов
/ 09 июня 2018

Я настраиваю интерфейс приложения для iOS из Interface Builder.У меня есть несколько горизонтальных стековых представлений, все они встроены в один вертикальный стековый вид.До сих пор макет, кажется, в порядке, и ограничения хорошо сделаны.

Когда я встраиваю вертикальный вид стека в UIScrollView, макет становится очень плохим.Возможно, что-то не так с моими ограничениями макета, но я не знаю, что именно.Вот два изображения, которые представляют макет до и после встраивания в UIScrollView:

До UIScrollView

После UIScrollView

Кто-нибудь имеет представление о том, почему это происходит?Заранее спасибо, ребята.

Обновление

После установки этого ограничения:

VerticalStackView.width == ScrollView.width

Результат следующий:

VerticalStackView.width == ScrollView.width img

Обновление 2

После добавления основных ограничений

1 Ответ

0 голосов
/ 09 июня 2018

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

  • ScrollView.top == View.top
  • ScrollView.leading == View.leading
  • ScrollView.bottom == View.bottom
  • ScrollView.trailing == View.trailing
  • ContentView.top == ScrollView.top
  • ContentView.leading == ScrollView.leading
  • ContentView.bottom == ScrollView.bottom
  • ContentView.trailing == ScrollView.trailing
  • ContentView.width == ScrollView.width
  • VerticalStackView.top == ContentView.top + 16
  • VerticalStackView.leading == ContentView.leading + 16
  • VerticalStackView.bottom == ContentView.bottom - 16
  • VerticalStackView.trailing == ContentView.trailing - 16

Вместо View в рамках первых четырех ограничений вы также можете использовать SafeAreaLayoutGuide (в зависимости от ваших потребностей).

setup

...