【问题标题】:Hide a character in textField using TextFormat in as3在 as3 中使用 TextFormat 隐藏 textField 中的字符
【发布时间】:2015-05-14 05:08:30
【问题描述】:

我有一个带有文本的文本字段,我需要隐藏最后一个字符

我试过了

    _textField.text = "My string";
    var newtextFormat:TextFormat =  new TextFormat();
    newtextFormat.size = 0;
    _textField.setTextFormat(newtextFormat, _textField.length-1, _textField.length-1);  

问题是最后一个章程仍然像单个像素一样可见。 有没有办法设置字体颜色透明 例如

newtextFormat.color = <any tranparent color>;

【问题讨论】:

  • 为什么不直接去掉最后一个字母呢? _textField.text = _textField.text.substr(0, _textField.text.length - 1); 如果文本后面是纯色,则保持原样,只需将文本格式更改为与背景相同的颜色即可。
  • 背景颜色不统一..我会尝试你的建议,但我怀疑它会破坏其余的文本格式

标签: actionscript-3


【解决方案1】:

我建议您将 textField 中的文本字符串替换为空白字段(“”),而不是更改大小或 alpha,如下所示:

_textField.text = "My string";
var newString:String=_textField.text.replace (_textField.text.charAt (_textField.text.length-1) , " ");

_textField.text =newString;
//now textField text is My strin

如果您希望它是其他字符,而不是最后一个,您可以轻松地将其更改为例如

_textField.text = "My string";
var newString:String=_textField.text.replace (_textField.text.charAt (3) , " ");

_textField.text =newString;
//now textField text is My  tring

【讨论】:

  • @user3264864 - 您不想使用替换方法...它将替换该字符的所有实例。您明确表示您只想隐藏最后一个字符。如果您要更改文本字段的实际文本,请使用我评论中的代码。
【解决方案2】:

您可以使用文本字段的“限制”功能来确定可以输入的字符类型。您可以收听“更改”事件并编辑他们输入的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2022-11-25
    • 2020-09-17
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多