我正在使用
将DisplayObject添加到CanvasContentContainer.addChild(c);
其中ContentContainer是我的Canvas对象,c是我在运行时创建的DisplayObject
其中一些DisplayObject也有自己的子节点,这些子节点在DisplayObject添加到Canvas之前的运行时添加
然后我需要迭代ContentContainer的所有子项,但是第一次执行此操作时,它表示ContentContainer没有子项(即ContentContainer.numChildren = 0)。如果我再次这样做那么它就没问题了,并返回正确数量的孩子。
我需要调用什么来让ContentContainer重新计算它有多少个孩子?
答案 0 :(得分:2)
正如Michael所说,查看代码会很有帮助,但您可能需要查看文档中的事件概述和关于创建政策部分 - {{ 3}}
具体来说,在迭代之前,childAdd事件可能是您想要侦听的内容:
add
在将组件添加到其容器并且父级和子级处于一致状态后由组件调度。在容器调度childAdd
事件之后调度此事件,并且发生了因添加而需要进行的所有更改。
=瑞恩 ryan@adobe.com
答案 1 :(得分:0)
我使用callLater执行了类似的任务,以便在重新计算某些任务之前等待完成一个dragdrop。这可能适合你。
public function myFunct():void{
//do your adding
callLater(
function():void{
//do your loop
}
)
}