我们在 MovieClips 中有一个包含一堆 TextField 的库。在运行时,我们创建其中一个实例,在其上运行 getTextFormat 以获取格式,然后在代码中创建一堆 TextField 并在它们上运行 setTextFormat 以赋予它们相同的格式。
我正在尝试做同样的事情,但使用 TLFTextFields。我有以下内容:
var text:TLFTextField = new classFromLib();
text.selectable = true; //required for getTextFormat to work, flash bug
textFormat = text.getTextFormat();
text.selectable = false; // set it back to false
现在的问题是 textFormat.leading 是 -2147483648,而 textFormat.letterSpacing 是 NaN。这在运行 text.setTextFormat(textFormat) 时分别产生以下 2 个运行时错误:
Property lineHeight value -2147483648 is out of range
Property trackingRight value NaN is out of range
如果我在运行 setTextFormat 之前将 textFormat.leading 和 textFormat.letterSpacing 设置为 null,那么一切正常,但显然文本字段没有得到库中的前导和字母间距。这是一个问题,因为我需要这两个属性。有人知道解决这个问题的方法吗?