Как установить пустой UIStackView внутри UIScrollView, чтобы я мог заполнить его во время выполнения? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь установить пустой вертикальный UIStackView внутри UIScrollView, чтобы я мог динамически заполнять UIStackView во время выполнения

Я пробовал решение, данное яблоком здесь , но когда я делаючто инструмент Auto Layout сообщает мне, что отсутствует ограничение, которое представляет собой либо позицию Y, либо высоту UIStackView.Единственное отличие, которое я имею между моим UIScrollView и примером из этого примера, состоит в том, что я не добавляю кнопку в UIStackView.

Когда я заполняю UIStackView во время выполнения, журналы говорят, что он должен нарушить некоторые ограниченияи затем UIScrollView заполняет экран до самого дна, выталкивая другие виды, которые у меня были там, из поля зрения.

Это правильный путь для достижения того, что я хочу?Или есть какое-то другое решение?

РЕДАКТИРОВАТЬ:

Это то, что у меня есть, ограничение логотипа только соотношение сторон относительно себя

Current status

1 Ответ

2 голосов
/ 24 апреля 2019

Установите ограничения, как они есть, но без представление пустого стека в представлении прокрутки.

Далее:

  • добавить UIStackView к представлению прокрутки
  • ограничить все 4 стороны представления стека видом прокрутки
  • ограничить ширину просмотра стека равной ширине просмотра прокрутки
  • ограничить высоту представления стека равной высоте представления прокрутки

IB должен показать все удовлетворенные ограничения.

Затем - и вот ключ - отредактируйте ограничение стека Высота и установите его в качестве заполнителя:

enter image description here

Это ограничение высоты теперь будет снято во время сборки. Любые элементы, которые вы добавляете с помощью кода как arrangedSubviews, будут определять высоту стекового представления, которое, в свою очередь, будет определять область с вертикальной прокруткой (.contentSize) - все это обрабатывается автоматическим макетом.

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