Actionscript TextFormat сбрасывается при изменении TextField.text

У меня есть TextField, выделенный полужирным и синим цветом. Однако, когда я меняю TextField.text, форматирование textfield сбрасывается, и мне снова приходится setTextFormat.

Это код, который я использую для установки своего TextField. myText — это переменная для моего TextField. (Это всего лишь часть моего кода; это часть функции моего EventListener.)

yourName = body_txt.text;  
myText.text = "This is the new text";

person ambiguousmouse    schedule 19.01.2010    source источник


Ответы (3)


В AS3 вы захотите использовать свойство defaultTextFormat объекта TextField.

person Tyler Egeto    schedule 19.01.2010

Тайлер прав. Более конкретно:

myTextField.defaultTextFormat = myTextField.getTextFormat();
myTextField.text = "Sample text.";

Надеюсь это поможет!

person marcelebrate    schedule 16.06.2010

Вместо этого вы должны использовать setNewTextFormat, это повлияет на будущие изменения.

Или, при желании (если у вас уже есть текст), примените новый формат к обоим свойствам:

var myTextField:TextField = new TextField();
myTextField.text = "Chunky bacon" ;

var newFormat:TextFormat = new TextFormat();
newFormat.color = 0xFF0000;
newFormat.size = 18;
newFormat.underline = true;
newFormat.italic = true;

myTextField.setTextFormat( newFormat ) ; // Applies to current value – "Chunky bacon"
myTextField.setNewTextFormat( newFormat ) ; // Applies to future changes - " Hello World"

myTextField.text += " Hello World" ;
person St.Woland    schedule 19.01.2010
comment
Если я правильно помню, setNewTextFormat — это только метод языка AS2. - person Tyler Egeto; 19.01.2010