我正在尝试构建一个动态大小的spark textArea,它将可能的文本限制为其大小。
例如,textarea设置为width =“300”,height =“100”。现在,用户应该只能输入或粘贴组件中可见的文本。如果输入更多文本,我不希望textArea滚动或换行。
我尝试了各种方法,但都没有成功。
非常感谢帮助!
答案 0 :(得分:0)
我遇到了同样的问题,但没有找到完美的解决方案。但我找到了解决这个问题的简单方法。
Spark TextArea具有IEditableText类型的textDisplay属性。默认情况下,会为此属性分配RichEditableText组件。此组件中有一个名为contentHeight的属性。我使用此属性来确定文本高度是否超过textArea高度。所以我的简单解决方案是这样的:
protected function textArea1_changeHandler(event:TextOperationEvent):void {
if (textArea1.textDisplay is RichEditableText){
if ((textArea1.textDisplay as RichEditableText).contentHeight > textArea1.height){
textArea1.maxChars = textArea1.text.length;
}
else {
textArea1.maxChars = 0;
}
}
}
原因是,在应用程序中使用之前需要对其进行微调。但我想尽快发布解决方案:)我将发布所需的确切逻辑。但我认为你也可以自己做...
答案 1 :(得分:0)
对于Spark textArea,我在每次更改文本时都使用了它:
while(textArea.textFlow.flowComposer.numLines> textArea.heightInLines) textArea.text = textArea.text.substr(0,textArea.text.length-1);