我有一个TextArea,用户可以在其中输入文本,还可以更改TextArea的宽度和高度。调整大小时,文本会在预期的位置打破。我需要找到TextArea外观在调整大小后添加隐式换行符的位置。
环境
示例
This is just plain text that
breaks after the word "that".
当TextArea lineBreak属性为toFit并且文本没有CR或LF字符时,有关如何查找换行符位置的任何想法?在上面的例子中,它将是第28位。
答案 0 :(得分:0)
您可以将文本拆分为线条组件并轻松返回其各自的文本长度,但您必须使用一些“文本布局框架”魔术。
textFlow
属性(而不是text
属性),该属性将返回TextFlow个实例。这是TextArea中文本的模型。flowComposer
,它负责处理文本的布局并随身携带大量信息。lines
属性,该属性是TextFlowLine textLength
属性。以下
var composer:StandardFlowComposer =
myTextArea.textFlow.flowComposer as StandardFlowComposer;
for each (var line:TextFlowLine in composer.lines)
trace(line.textLength)
会产生(用你的例子)
29
30