我编写了一些使用setTextFormat将格式应用于textFields的代码。我现在需要更改它,所以如果文本字段有一个特定的标题,它会添加到格式化(将其大写)。
我可以使用几种解决方法,但理想情况下,我想为setTextFormat或textFormat类创建一个覆盖,检查文本字段的名称,如果它是一个特定的名称,则在应用所有其他指定格式之前将其大写。我知道如何覆盖诸如(宽度或高度)之类的setter,但是无法找到覆盖特定属性的任何信息。
有人可以给我任何指示吗?
答案 0 :(得分:0)
[[编辑]]
没有意识到问题是参考AS2。以下答案是AS3。
我建议扩展TextField对象并覆盖set defaultTextFormat方法。
import flash.text.TextField;
import flash.text.TextFormat;
class MyTextField extends TextField
{
public function MyTextField()
{
super();
}
override public function set defaultTextFormat(value:TextFormat):void
{
super.defaultTextFormat = value;
}
}
祝你好运!
答案 1 :(得分:0)
public class MyField extends TextField {
public function MyField() {
super();
}
override public function setTextFormat(format:TextFormat):void {
if (this.name == "someName") {
this.capitalize();
}
super.setTextFormat(format);
}
private function capitalize():void
{
//code to capitalize text
}
}