Как сделать чтобы после генерации списка пользователь выдел список начиная с первого элемента?
Внутри канваса создал ScrollView,который содержит в себе Content. Content в свою очередь содержит динамический список.Чтобы все элементы показывались правильно и что размер Сontent'а менялся автоматически,добавил Vertical Layout Group && Content Size Fitter.Всё хорошо работает, но мне нужно чтобы после генерации списка пользователь выдел список начиная с первого элемента,а ни со середины списка.

Ответы (2 шт):
В пайплайне рендера UI элементы отображаются по порядку иерархии.
Что бы их отсортировать нужно либо для всех элементов установить SetParent(null), после чего вернуть в отсортированном порядке:
Transform MainTransform = transform;
List<Transform> Childs = new List<Transform>();
for (int i = 0; i < MainTransform.childCount; i++)
Childs.Add(MainTransform.GetChild(i));
foreach (Transform child in Childs)
child.SetParent(null);
// sort
foreach (Transform child in Childs)
child.SetParent(Transform);
Либо тупо удалить все элементы и создать их заново.
Насколько я понял, вы хотите вручную через код устанавливать насколько прокручен должен быть ваш ScrollView? Для этого есть 3 свойства: verticalNormalizedPosition, horizontalNormalizedPosition, normalizedPosition.
Первые два - тип данных float от 0 до 1, второе - Vector2, состоящий из первых двух.
Например, таким образом можно установить прокрученность ScrollRect на половину по вертикали:
GetComponent<ScrollRect>().verticalNormalizedPosition = 0.5f;
Чтобы показывать пользователю список с самого начала, нужно установить verticalNormalizedPosition на 1