Пользовательский компонент Flex не будет изменять размер

#flash #actionscript-3 #flex4

#flash #actionscript-3 #flex4

Вопрос:

Я пытаюсь создать расширяющийся объект с помощью следующего обработчика событий

 public function pickerMove(e:MouseEvent):void {
        trace("in mouse move");
    var offsetX:int = e.stageX - touchX;
        trace(offsetX);
    picker.x  = offsetX;
        trace(picker.width);
    picker.width -= offsetX;
        trace(picker.width);
    touchX = e.stageX;
}
  

Средство выбора.x = offsetX работает точно так же, как ожидалось, и перемещает координату x компонента.

Проблема в средстве выбора.width -= offsetX

Ширина компонента на экране не меняется, но изменяется значение параметра выбора.ширина изменяется по мере распечатки на консоли.

Вот некоторый пример вывода из трассировки:

 in mouse move
-1
928
929
in mouse move
-1
929
930
in mouse move
-1
930
931
  

Есть ли что-то, чего я не знаю об изменении размера пользовательских компонентов?

Ответ №1:

Попробуйте использовать механизмы аннулирования пользовательского компонента и переопределить updateDisplayList() в вашем пользовательском компоненте, чтобы перерисовать ваш компонент с новой шириной.

Комментарии:

1. Это комментарий или ответ? Если вы хотите, чтобы это был ответ, не могли бы вы предоставить немного больше справочной информации, пожалуйста?