Моя проблема в значительной степени описана в заголовке. Просто несколько деталей ... Я создаю пользовательский компонент (на основе 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;
}
Я не уверен, что нужно что-то еще ... просто спросите, если так.
Заранее спасибо:)