私の問題は、タイトルでほとんど説明されています。ほんの少しの詳細.. カスタム コンポーネント (ComboBox に基づく) を作成し、いくつかの基本メソッドをオーバーライドしています。最近、固定幅ではなくパーセントで幅を設定すると、奇妙な動作をすることがわかりました。commitProperties
メソッドを継続的に呼び出し、最終的に失敗する傾向があります。幅を固定値に設定すると、すべてが魅力のように機能します。実装するために何が欠けていますか? ここにいくつかのコードがあります..
override protected function commitProperties():void {
super.commitProperties();
//some stuff ...
TextInput(textInput).setSelection(cursorPosition, cursorPosition);
if (cursorPosition == textInput.text.length || cursorPosition == 0) {
TextInput(textInput).horizontalScrollPosition = (cursorPosition == 0) ? 0 : textInput.width;
}
}
ここではtextInput.width
、どちらの場合も、計算された値を適切に返します。また、必要に応じて、次のようにします。
override protected function measure():void {
super.measure();
measuredWidth = 160;
}
他に何か必要かどうかはわかりません..必要があるかどうか尋ねてください。前もって感謝します :)