здесь 2 блока кода.DefaultTextFormat vs SetTextFormat
var myTextField:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();
addChild(myTextField);
myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0x0000FF;
myTextField.text = "some text";
**myTextField.setTextFormat(myTextFormat);**
VS
var myTextField:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();
addChild(myTextField);
myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0x0000FF;
**myTextField.defaultTextFormat = myTextFormat;**
Итак, в чем разница между setTextFormat() и defaultTextFormat? Почему два разных способа (один по свойству другого по методу) - делать что-то.
Протестировано некоторый код:
var my_txt:TextField =new TextField();
my_txt.type = TextFieldType.INPUT
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFF0000;
my_txt.text = "this is for setTextFormat with range";
my_txt.setTextFormat(my_fmt,0,3);
// my_txt.text = "this is for setTextFormat without range";
// my_txt.setTextFormat(my_fmt);
// my_txt.defaultTextFormat = my_fmt;
// my_txt.text = "this is for default text format";
addChild(my_txt);
В.
ok, thnx. Но много раз, когда вы пытаетесь использовать динамический шрифт, все не работает, если не используется defaultTextFormat. Так что должно быть что-то большее в этом отношении. –
Не работает означает, что формат не меняется? setTextFormat не работает, если к тексту применяются стили. From adobe: Примечание. Этот метод не работает, если таблица стилей применяется к текстовому полю. –
См. Edit, поэтому setTextFormat устанавливает только формат текста, находящегося в текстовом поле, который не влияет на текст, который вводит пользователь. –