Можно ли добавлять элементы в Scroll View с разных сторон (концов)?
Здравствуйте!
Собственно вопрос в теме. Но опишу подробнее проблему.
Есть Canvas, добавил на него Scroll View. Затем создал префаб. И написал скрипт, который динамически создает экземпляры префаба и добавляет их в Scroll View. И естественно он каждый раз добавляет их с одной и той же стороны. Но допустим мне захотелось чтобы каждый третий экземпляр отправлялся в другой конец списка (Scroll View). Можно ли такое реализовать?
И глобальная проблема. Хочу реализовать pull-to-refresh для того же скролла.
Есть список элементов. После того как долистал до вершины списка, хочу чтобы прогрузились новые элементы, для этого оттягиваю экран (как иногда приходится делать на телефоне, чтобы прогрузилась новостная лента или обновилась страница). Я отлавливаю это событие (оттягивание) и генерирую новые элементы, но при добавлении их в список они попадают в самый низ, а хотелось чтобы они появлялись наверху списка. Тот же вопрос. Можно ли такое реализовать?
Юнитёвый UI для сортировки элементов использует индекс трансформа в иерархии относительно родителя. Работать с этим индексом можно с помощью методов Transform.GetSiblingIndex и Transform.SetSiblingIndex. Конкретно для примера с оттягиванием и обновлением пригодится метод Transform.SetAsFirstSibling, только учтите, что обновление будет происходить рывком, если хотите получить плавную анимацию, то придётся использовать трюки, либо писать свой класс для прокручиваемого списка.
kudim, Например, когда хотите вставить новый элемент, создаёте элемент-пустышку с нулевым размером и без графики и плавно меняете его высоту до нужной, потом его убираете, а на его место ставите то, что хотели.