Unity3D ScrollView динамическая ширина - PullRequest
0 голосов
/ 18 февраля 2019

В Canvas есть ScrollView, который будет заполнен пользовательским интерфейсом GameObject (Panel) во время выполнения.Поскольку у этого динамического дочернего элемента нет фиксированного размера, я хочу изменить размер моего ScrollView до той же ширины, что и у дочернего элемента.Другими словами: ScrollView должен быть шириной его дочернего элемента .

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

Я уже пытался добавить Fitter Size Content к Content , Viewport и ScrollView , но это приводит только к ширине 0.

Моя структура выглядит следующим образом

Example

Скажите, пожалуйста, если вам нужна дополнительная информация

Редактировать 1:

похоже, проблема в GameObject Content .Размер не изменяется с дочерним элементом

enter image description here

1 Ответ

0 голосов
/ 18 февраля 2019

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

Может быть немного сложно сделать это правильно в первые несколько раз, но определенно возможно.Порядок, в котором вы добавляете компоненты, несколько важен: сначала убедитесь, что у вас настроены layoutElements в дочерних элементах, затем добавьте группу макетов и только после правильной работы добавьте установщик размера содержимого.Если вы делаете это с другой стороны, это может ускользнуть, так как в течение ночи вы изменяете размеры объектов до 0, прежде чем заметите

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