Все, что я хочу сделать, это получить свойства форматирования TLFTextField и применить его к другому TLFTextField. Это было просто, используя классический TextField:
var textFormat:TextFormat = text1.getTextFormat();
text2.setTextFormat(textFormat);
TLFTextField имеет функции getTextFormat и setTextFormat, но они оба очень глючные. getTextFormat работает только в том случае, если вы изменяете свойство selectable на true, в противном случае генерируется ошибка нулевого объекта. setTextFormat генерирует ошибку NaN, когда некоторые свойства объекта TextFormat не равны NULL.
Предполагается, что объект TextLayoutFormat будет использоваться вместо TLFTextFields. Вы устанавливаете объект, выполняя следующие действия:
var text1:TLFTextField = new TLFTextField();
var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat();
var textFlow:TextFlow = text1.textFlow;
textFlow.hostFormat = textLayoutFormat;
textFlow.flowComposer.updateAllControllers();
Однако я не могу понять, как теперь получить TextLayoutFormat из text1. Один человек предложил следующее:
textLayoutFormat = ((text1.textFlow.getChildAt(0) as ParagraphElement).getChildAt(0) as SpanElement).computedFormat as TextLayoutFormat;
Но это только что вернулось ноль. Кто-нибудь знает, как получить TextLayoutFormat, чтобы я мог применить его к другому TLFTextField?