передвинуть ScrollView в конец после добавления элемента

Графический интерфейс пользователя

передвинуть ScrollView в конец после добавления элемента

Сообщение Valentinus 03 апр 2017, 11:54

как передвинуть ScrollView в конец после добавления элемента?

если делаю ScrollView .GetComponent<ScrollRect>().verticalNormalizedPosition = 0.0f; (0 - это конец списка, 1 - начало), то у меня последний элемент все равно не показывается, т.е. список становится как бы недоскролленым до конца, ползунок скролбара не доходит до края полосы прокрутки. если ползунок потянуть до конца то будет виден последний добавленный элемент.

я полагаю, что Vertical Layout у ScrollView выполняет раскладку элементов не сразу после добавления элемента в ScrollView , а по выходу из функции, где происходит добавление. то есть я-то ставлю ползунок в самый конец, но уже после этого элементы заново раскладываются и "умница" юнити восстанавливает позицию скролла на тот элемент который был последним до раскладки.

пробовал задать через базовый евент у ScrollView - OnValue Changed, поставить в нем verticalNormalizedPosition = 0 - тогда список автоматически скроллируется до конца, но при этом отрубается скроллбар, т.е. начало списка уже никак не увидеть. :((

гугление не помогло.

как мне преодолеть этот косяк?
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33

Re: передвинуть ScrollView в конец после добавления элемента

Сообщение Valentinus 03 апр 2017, 12:10

пока выкрутился поставив между добавлением элемента и установкой verticalNormalizedPosition = 0 задержку yield return new WaitForFixedUpdate();

но какое-то сомнительное решение, на мой взгляд.... :-??

что скажете?
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3