Вопрос

У меня есть 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()
            });
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top