Страница 1 из 1

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

СообщениеДобавлено: 03 апр 2017, 11:54
Valentinus
как передвинуть ScrollView в конец после добавления элемента?

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

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

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

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

как мне преодолеть этот косяк?

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

СообщениеДобавлено: 03 апр 2017, 12:10
Valentinus
пока выкрутился поставив между добавлением элемента и установкой verticalNormalizedPosition = 0 задержку yield return new WaitForFixedUpdate();

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

что скажете?