validateNow()
現在開発中のFlex3プロジェクトにおいて、Labelコントロールのtextを変更した直後にコントロールのサイズを取得しようとしたところ、変更する前のサイズしか取得することができない問題にぶち当たりました。調べてみるとvalidateNow()をコールしてやれば、設定後の新しいサイズを取得できることが分かりました。ちょっと忘れないように早速Flex備忘録にプチ登録します。
但しvalidateNow()はかなり重い処理なので無闇にコールすると遅くなってしまうので要注意です。
・MXMLからスクリプト部抜粋 // センターテキスト centext.text = ctxt; centext.validateNow(); // レイアウト更新、再描画 width = centext.width; // ここでサイズを取得 ・MXML定義から抜粋 <mx:Label id="centext"/>