2010-08-25 69 views
0

我有自定義組件,它們必須根據空間限制來調整其文本內容。例如,組件添加標籤,直到沒有空間,然後最後一個標籤的內容變爲「(x更多)」 在添加子控件之前,我無法訪問子控件的大小。在updateDisplayList中,我對組件的佈局進行了更改,但對於標籤,lblInstance.text屬性會觸發事件,這會導致再次調用updateDisplayList。我知道updateDisplayList可能會被多次調用,但是如果有方法修改文本而不觸發事件,那將非常有用。例如,UIComponent中的setActualSize方法允許進行這種修改。 任何類似的文本控件?或者,在自定義Flex組件的上下文中,您是否擁有佈局和管理文本內容的最佳實踐?在Flex組件生命週期中修改文本內容的正確方法是什麼?

問候 謝雷夫

回答

1

使用measure()方法設置文本組件尺寸。

您可能需要在它們上調用validateNow(),以便它們將被迫計算出實際的textWidthtextHeight,並返回textField中實際行數,如果它們足夠長以包裝。調查TextMetrics類以獲取更多測量方法。

+0

謝謝,我完全忘了關於validateNow。它應該幫助我很多。 – mahonya 2010-08-26 08:57:59

相關問題