2016-08-23 3 views
2

Я хочу реализовать scrollview в Unity3D 5 UI с горизонтальными изображениями, загруженными из Интернета, у них есть разные случайные пропорции, но я хочу, чтобы они были постоянной высоты. И ширина быть в соответствии с их соотношением сторон, как это:Горизонтальная прокрутка с постоянными изображениями изображений в интерфейсе Unity3D - Как?

enter image description here

Я пытался использовать Horizontal Layout Group, но изображения получают слишком мало, так что все это может поместиться в группе, когда я хочу, чтобы они были постоянными высота и растянуть ширину родителя. Итак, как, родительский widht является основным, и он затрагивает детей, но я хочу, чтобы дети влияли на общую ширину родителя (расширяйте его при добавлении новых изображений детей).

Любые идеи, как достичь этого? Благодарю.

+0

Вы проверили это: http://stackoverflow.com/a/38479097/4366237 –

+0

Хм, спасибо, проверяйте прямо сейчас ... – Roman

ответ

0

Вам необходимо использовать ScrollView с включенной горизонтальной прокруткой, а вертикальная прокрутка отключена. Настройка вашей иерархии, как в изображении ниже:

enter image description here

На GameObject имени Content присоединять Horizontal Layout Group и Content Size Fitter со следующими параметрами:

enter image description here

Тогда на всех изображениях прикрепить Layout Element компонент и во время выполнения вычислите ширину, используя соотношение сторон изображения и высоты к объекту игры Content и назначьте эту ширину Preferred Width propertyt у из Layout Element компонента: В следующем изображении 300 является расчетная ширина изображения:

enter image description here

В результате любые изображения вы добавить ребенка к Content GameObject увеличит ширину своих родителей, а также вы будете возможность прокрутки по горизонтали для просмотра всего изображения.

p.s. Я написал этот ответ в спешке. Надеюсь, это будет иметь смысл для вас, если не сообщит мне, и я улучшу свой ответ.

Смежные вопросы