我有一個組件ObjectHolder
,它擴展了UIComponent
,它包含許多子項UIComponents
。但是,在使用addChild()
將這些孩子添加到ObjectHolder
後,其寬度和高度保持爲零。 UIComponent
是否可以自動擴展到其包含的子組件的大小?Flex 4在調用addChild後,UIComponent的寬度和高度保持爲零
public class ObjectHolder extends UIComponent
{
public function ObjectHolder()
{
var c1:UIComponent = new UIComponent();
c1.graphics.beginFill(0xffffff);
c1.graphics.drawRect(0, 0, 100, 100);
addChild(c1);
trace(this.width); // Displays zero
}
}
組件不會自行調整大小。實現measure()方法僅通過measuredHeight和measuredWidth屬性向組件父容器提供「建議」。不過,大多數默認的Flex容器都會遵守這些尺寸。 – JeffryHouser
我閱讀了有關measure()方法的內容,但不是在調用addChild()後立即調用它。由於組件是動態添加的,我不能真正重寫createChildren()方法。 – peter
@ www.Flextras.com:我沒有使用Flex容器,「容器」是一個UIComponent。 Flex容器是否自動擴展到包含子容器的大小? 「容器」UIComponent是一個Floorplan網格,因此用戶基本上可以動態地將對象添加到「底層」(類似於在Photoshop畫布中添加圖像和形狀) – peter