消失的组件?

时间:2009-10-27 17:24:14

标签: memory flex

我有一个包含单个myComponentA的画布。 myComponentA包含MyComponentB。 myComponentB包含许多myComponentA给出树结构......好了。

结构存储为XML文件。

  1. 当我加载一个大的(大约60个组件)时,组件不可见......当我将播放器质量更改为低或中等时,它们会出现......!

  2. 在图表的底部,一个组件被夹在中间,好像它已经被切断了......(包含的画布继续在空...)

1 个答案:

答案 0 :(得分:0)

这可能是弹性测量机制的一个问题。您的myComponentA应该将其measuredHeightmeasuredWidth报告给父容器。在您的情况下,这可能会在覆盖measure函数时完成。 e.g,

override protected function measure():void {
       measuredWidth = //x position + width of rightmost child
       measuredHeight = //y position + height of bottommost child
       super.measure();
}

如果你在myComponentAmyComponentB中都做了类似的事情,你从Container(例如画布)继承,那么事情应该主要起作用。如果您的组件继承自UIComponent,则可能会遇到更多麻烦(即,不会有任何滚动条)。

请注意,measure功能仅设置measuredHeightmeasuredWidth。根据您的具体情况,您可能需要覆盖updateDisplayList以正确设置孩子的实际身高/宽度/位置。