做flex项目时,对于flex组件的宽高,坐标,有时候会遇到取不正确的问题。像是被延迟后,才会得到正确的值。即使是Label也是

如果用同步异步的说法,想取到正确的值。就得到异步结束。

这样,就需要对对象进行侦听。在这里,Flex对应的有一个事件:FlexEvent.UPDATE_COMPLETE

打个比方。你创建一个Label,然后给它不断的填充text属性。然后再trace label的宽高。你会发现label的宽高有时候是不准确的。

这个时候,你对labe进行FlexEvent.UPDATE_COMPLETE侦听。在侦听器里完成label宽高的读取就是正确的。

这里只是一个例子。其他的组件也是。貌似都继承UIComponent的都有。

var label:Label = new Label();
label.addEventListener(FlexEvent.UPDATE_COMPLETE , labelUpdateCompleteHandler);
function labelUpdateCompleteHandler():void
{
      trace(label.width , label.height);
}