Adobe Air 4.0 Mobile As3 - StageText限制

时间:2014-01-29 07:20:40

标签: actionscript-3 flash mobile air

我们在舞台上添加了一个StageText对象。 一切正常,直到我们添加限制:

myTextFieldName = new StageText();
myTextFieldName.editable = true;
myTextFieldName.autoCorrect = false;
myTextFieldName.stage = this.stage;
myTextFieldName.maxChars = 15;
myTextFieldName.fontSize = 35*SWF_HALF_WIDTH*2/620;
myTextFieldName.viewPort = new Rectangle(SWF_HALF_WIDTH-_nameIpSprite.width/2+255*SWF_HALF_WIDTH*2/620, _nameIpSprite.y+21*SWF_HALF_WIDTH*2/620,222*SWF_HALF_WIDTH*2/620,40*SWF_HALF_WIDTH*2/620); 
myTextFieldName.text = "";
myTextFieldName.restrict = "0-9a-zA-Z";
myTextFieldName.returnKeyLabel = ReturnKeyLabel.GO;

文本在我们定义时受到限制,但最大的问题是如果你输入一个新的字母,它会插入已输入的字符。

所以我输入了" f"然后是" m"。它自动添加一个额外的f,结果是" ffm"而不是" fm"。

我们还尝试添加一个change eventlistener:

myTextFieldName.addEventListener(Event.CHANGE, textFieldChangeEventHandler);

private function textFieldChangeEventHandler(event:Event):void
{
    trace(event.target.text);
    //Manage text
}

如果我们使用它,则光标始终到达字符串的开头,并且每个新字母都在开头而不是结尾添加...

有这方面的经验吗?

最佳

1 个答案:

答案 0 :(得分:0)

根据您的说法,我认为这是一个错误,我还发现与RTL文本相关的阶段文本中的错误并报告here, 我建议报告此错误并使用代码将用户输入限制为解决方法。