Как программно добавить пользовательский UIView в Stackview поверх UIScrollView?

У меня есть ViewController с UIScrollView с вертикальным UIStackView поверх него. Все работает нормально, если я добавляю UIView в стек с ограничением высоты через построитель интерфейса. Например 3 вида высотой 600 пикселей. Если я запустил приложение, я могу без проблем прокрутить и увидеть все три добавленных представления. Для просмотра стека работает нормально.

Если я попытаюсь добавить представление в stackview с кодом с кодом addArrangedSubView, я могу увидеть это первое представление, которое я добавил, если я принудительно прокрутил вниз, но не два других. Не имеет значения, устанавливаю ли я ограничения по высоте для добавляемых мной представлений, и не имеет значения, устанавливаю ли я intrinsicContentSize для настраиваемых представлений.

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

Спасибо :)


person BluE_MoOn    schedule 10.12.2020    source источник
comment
Пожалуйста, предоставьте свои конкретные сегменты кода, чтобы люди могли лучше вам помочь!   -  person SchmidtFx    schedule 10.12.2020
comment
Попробуйте обновить UIScrollView contentSize на scrollView.contentSize = CGSize(width: <your-width>, height: <your-height>) после добавления упорядоченных подвидов.   -  person Luca Pizzini    schedule 10.12.2020
comment
Вам нужно предоставить немного больше информации. Вы пытаетесь добавить просмотр прокрутки, просмотр стека и изображения с помощью кода? Или вы добавили представление прокрутки с представлением пустого стека в раскадровке? Если да, то какие ограничения вы наложили на представление стека? Или у вас есть только просмотр прокрутки в раскадровке?   -  person DonMag    schedule 11.12.2020


Ответы (1)


Просто предположение из-за отсутствия дополнительной информации:

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

вам следует добавить следующие ограничения:

  • исправить края представления стека (верхняя, ведущая, конечная, нижняя) для прокрутки представления
  • установить ограничение ширины между представлением стека и представлением прокрутки
  • также установить ограничение по высоте между представлением стека и представлением прокрутки, установить для него низкий приоритет (250)

Для получения дополнительных сведений ознакомьтесь с настройкой UIStackView с автоматической компоновкой, например здесь: https://medium.com/@pradeep_chauhan/how-to-configure-a-uiscrollview-with-auto-layout-in-interface-builder-218dcb4022d7

Если это не сработает, предоставьте соответствующий код и снимки экрана вашей установки Interface Builder.

person de.    schedule 31.01.2021