Во Flex 3.2 я создаю UITextField, а затем измеряю текст, который я собираюсь присвоить свойству text этого поля. Затем я использую эти метрики, чтобы установить размер поля. Однако рассчитанная ширина недостаточно широка, чтобы вместить текст. Есть ли другой порядок для достижения правильного измерения, или я вижу проблему с функцией measureText ()? Как я могу получить точные результаты?
// UITextField's default size appears to be 100x100
// Measure the text then set width and height
var tf:UITextFormat = uiTextField.getUITextFormat();
var tlm:TextLineMetrics = tf.measureText(this.labelText);
// Text within the field is clipped unless 'padding' is added to the size
// Flex Documentation specifies there is a 2 px gutter on each side, so
// the expected padding would be 4 px. However, clipping occurs, for
// "Hello, World" up to 9 px.
uiTextField.width = tlm.width + 9;
uiTextField.height = tlm.height + 4;
uiTextField.border = true;
uiTextField.name = "uiTextField";
uiTextField.text = this.labelText;