Spark TextArea或RichText自动调整大小

Lee*_*iss 7 apache-flex textarea richtext flex4

我已经对这个主题进行了大量的搜索,但似乎我发现它要么已经过时,要么似乎无法正常工作.

使用TextFields,您可以将TextField设置为特定宽度,将wordWrap设置为true,最终会得到一个根据您添加的文本更改高度的文本字段.

现在我试图用Spark TextArea或RichText来做这件事.

我试过这个HeightInLines = NAN,但这似乎已经过时了.

我也试过这个例程:

var totalHeight:uint = 10;
this.validateNow();
var noOfLines:int = this.mx_internal::getTextField().numLines;
for (var i:int = 0; i < noOfLines; i++) 
{
     var textLineHeight:int = 
                     this.mx_internal::getTextField().getLineMetrics(i).height;
     totalHeight += textLineHeight;
}
this.height = totalHeight;
Run Code Online (Sandbox Code Playgroud)

但是mx_internal不在Spark组件中.

我试图用AS3,而不是MXML.如果有人有任何建议或链接可以帮助我使用AS3解决这个问题,我真的很感激.

Con*_*ner 2

这工作正常:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <s:TextArea updateComplete="event.currentTarget.heightInLines = NaN" />
</s:Application>
Run Code Online (Sandbox Code Playgroud)

在这里的评论中找到。您可以在 ActionScript 中使用相同的updateComplete事件执行相同的操作。