2013-11-27 99 views
0

下面的代碼工作。但是,如果將組件中的容器從Canvas更改爲UIComponent,則容器內的Canvas不會顯示。爲什麼會這樣?爲什麼UIComponent不顯示內容?

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"> 
    <local:Comp /> 
</mx:Application> 

Comp.mxml

<mx:Canvas xmlns:mx = "http://www.adobe.com/2006/mxml" buttonMode="true" useHandCursor="true" > 
    <mx:Canvas width="100" height="100" backgroundColor="0xffff00" /> 
</mx:Canvas> 

回答

1

由於的UIComponent不實施措施()或updateDisplayList()方法,因此您的組件是從來沒有在給定大小;因此沒有可見的顯示區域來顯示子組件。

請在Flex Component LifeCycle

+0

你說UIComponent不使用的updateDisplayList。我正在使用Skin來設計HSlider的風格,並且它使用了updateDisplayList而沒有任何問題。皮膚是一個UIComponent。這是否使你的答案錯了或者是否有另一種解釋? – SimonRH

+0

@SimonRH你在誤解我說的話。我說UIComponent類不**實現** updateDisplayList()方法。它有一個,有點沒有方法內的代碼。一個HSlider擴展了UIComponent,並且最有可能的代碼是在一個被覆蓋的updateDisplayList()方法中實現的。但是,在Spark體系結構中,事情可能會令人困惑,因爲updateDisplayList()代碼可能位於佈局類或外觀類中,而不是主類[如在MX體系結構中]。 – JeffryHouser

+0

我並不打算誤解您的陳述。我的問題只是那個;一個問題。謝謝你的解釋。 – SimonRH

相關問題