我有一个包含单个myComponentA的画布。 myComponentA包含MyComponentB。 myComponentB包含许多myComponentA给出树结构......好了。
结构存储为XML文件。
当我加载一个大的(大约60个组件)时,组件不可见......当我将播放器质量更改为低或中等时,它们会出现......!
在图表的底部,一个组件被夹在中间,好像它已经被切断了......(包含的画布继续在空...)
答案 0 :(得分:0)
这可能是弹性测量机制的一个问题。您的myComponentA
应该将其measuredHeight
和measuredWidth
报告给父容器。在您的情况下,这可能会在覆盖measure
函数时完成。 e.g,
override protected function measure():void {
measuredWidth = //x position + width of rightmost child
measuredHeight = //y position + height of bottommost child
super.measure();
}
如果你在myComponentA
和myComponentB
,和中都做了类似的事情,你从Container(例如画布)继承,那么事情应该主要起作用。如果您的组件继承自UIComponent,则可能会遇到更多麻烦(即,不会有任何滚动条)。
请注意,measure
功能仅设置measuredHeight
和measuredWidth
。根据您的具体情况,您可能需要覆盖updateDisplayList
以正确设置孩子的实际身高/宽度/位置。