2011-12-21 64 views
1

這是一個用於所有TextField嚮導的列表。我有一個顯示2段文本的文本字段。第一個我想被截斷以僅顯示最多3行文本。第二段將被附加到該文本。檢測文本塊所需的行數

有沒有辦法只顯示第一段的前三行?把它看作是第一段文章的摘要。

我試着用String.subStr(0,3行字符的猜測)做它,但它是相當不一致的,有些字符串將佔用4行文本字段。

我想過要做2個單獨的文本框,但在第一段只有1行字符的情況下,第二段之間會有2行字符的差距。

回答

3
textField = new TextField(); 
textField.antiAliasType = AntiAliasType.ADVANCED; 
textField.width = _boundaryWidth; 
textField.autoSize = TextFieldAutoSize.NONE; 
textField.multiline = true; 
textField.wordWrap = true; 
textField.text = _text; 
textField.setTextFormat(textFormat); 
while(textField.numLines > 3) 
{ 
    var txt:String = textField.getLineText(textField.numLines - 1); 
    textField.replaceText(textField.text.length - txt.length,textField.text.length, ""); 
    var numLines:int = textField.numLines; 
} 

這段代碼應該做你正在尋找的東西。

所有你需要做的就是檢查文本覆蓋的行數。最初設置寬度是因爲這有助於文本字段決定需要展開多少行。我還沒有創建一個涵蓋所有這些的功能。但我想這應該很簡單,因爲整個函數體在這裏。

+0

簡單而好的代碼,即使var'numLines'沒有用。 – helloflash 2014-08-01 18:43:50