установка вертикалиScrollPosition не работает
-
19-09-2019 - |
Вопрос
У меня есть VBox, который я заполняю программно. После определенного события (dragDrop) я выполняю некоторые вычисления, меняю порядок некоторых переменных, а затем заново создаю VBox.Все это отлично работает, но я хочу, чтобы VBox прокручивался обратно до правильного вертикального положенияScrollPosition.Я попробовал даже самое простое:
myVBox.verticalScrollPosition = 200
Но я просто не могу заставить его установить положение прокрутки после его перестройки.Есть идеи?
Редактировать:согласно ответу Фрэнки, я понял, что моя функция перетаскивания вызывала функцию перестроения, а затем функцию установки позиции подряд, что означает, что ее сборка не была завершена, когда она пыталась установить.Теперь я передаю позицию, которую хочу установить в поле, функции перестроения, которая устанавливает позицию прокрутки в конце построения VBox, и все работает отлично.
Решение
Попробуйте добавить этот код, я на работе, поэтому не могу проверить, работает ли он, надеюсь, что да:
//Initialize the Vbox
public var myVbox:VBox = new VBox();
//Define the function which rebuilds the Vbox
public function rebuildVbox():VBox{
myVbox.verticalScrollPosition=200;
return myVbox
}
//Define your event.complete function which sets the verticalScrollPosition
//after the drag drop
public function setVerticalScrollPosition():void{
myVbox.addEventListener(Event.COMPLETE,function(event:Event):void{
rebuildVbox()
});
}