У меня есть текстовый элемент в mxml. Значение текста меняется в зависимости от действий пользователя. Я хочу установить ширину с точным размером текста. Так как свойство width является фактической шириной компонента, мне нужно свойство measureWidth после запуска события FlexEvent.UPDATE_COMPLETE:
textField.addEventListener(FlexEvent.UPDATE_COMPLETE, function(e:FlexEvent):void{
textField.width = textfield.measuredWidth;
});
Это изменяется только на правильную ширину в первый раз. После этого он может быть только меньше, но не больше. Я прочитал текст и источник UIComponent, и он сказал, что мне нужно вызвать invalidateSize (). Но это работает только в том случае, если я установил свойство visibleWidth NaN. Итак, я сделал функцию установки:
function setText(newValue:String):void {
textField.text = newValue;
textField.explicitWidth = NaN;
textField.invalidateSize();
}
Но это все еще только уменьшается. У меня вопрос: как я всегда могу получить правильное значение measureWidth после события UPDATE_COMPLETE?
Спасибо