我正在使用Flash CS5和ActionScript 3。
我需要动态地(响应事件)将TLFTextField的wordWrap属性从true翻转为false,反之亦然。我使用旧的TextField类,但我无法使用TLF。
我声明我的字段并将其设置为如此,将wordWrap设置为true:
this.field = new TLFTextField;
field.multiline = true;
field.wordWrap = true;
field.autoSize = TextFieldAutoSize.LEFT;
field.tlfMarkup = my_content;
this.addChild(field);
var myTextFlow:TextFlow = field.textFlow;
myTextFlow.hostFormat = format; //format is a TextLayoutFormat declared earlier
myTextFlow.flowComposer.updateAllControllers();
要更改自动换行,我尝试了以下内容:
field.wordWrap = false;
field.multiline = false;
var myTextFlow:TextFlow = field.textFlow;
myTextFlow.flowComposer.updateAllControllers();
但是这没有效果 - 文字保持包装。谁能告诉我我错过了什么?
提前致谢,
阿曼达
答案 0 :(得分:2)
将wordwrap更改为false,必须有文本集。 (我需要大约半个小时才能让它工作!)
field.wordWrap = false;
trace(field.wordWrap); // will echo true
以下内容应该有效:
if(field.text == ""){
field.text = "a";
field.wordWrap = false;
field.text = "";
} else {
field.wordWrap = false;
}
trace(field.wordWrap); // should echo false
答案 1 :(得分:0)
首先,你试过了吗?
this.field = new TLFTextField();
你没有括号。
至少值得一看。 (另外我相信这是Beta目前所以有可能出现错误?)
最后,您可以考虑在没有AutoSize的情况下进行测试......有时会导致问题。
很抱歉,对于一个确切的解决方案,我无法提供更多帮助。