在AS3之前,在TextField上,只可以用substr去縮短string的字元數量,但要事先估計一個抽取數量來配合UI版面上設計。例如只顯示2行,我們要根據字體大小時、字款去估計最多可以顯示多少字元,中英文字混排更加麻煩,這近乎沒有可能做到的事情。
直到AS3,TextField類別提供了新方法getLineLength(),它可以知道每行字元數量。所以我寫了這個類別去幫我限制TextField顯示行數。
下載MaxRowsTextField類別檔案
下載示範源檔案
用法
這類別是繼承自TextField類別:
var tf:MaxRowsTextField = new MaxRowsTextField();
tf.width = 290;
tf.multiline = tf.wordWrap = true;
// 0 指無限制,預設值是0
tf.maxRows = 4;
// 改變省略符號,預設值是"..."
tf.moreStr = "...(more) ";
// 如要行數省略功能,請用text2,否則可以用原來的text或htmlText
tf.text2 = "This is a vey long message"
這個Class是由我的VCASMO 2.0 計劃抽出和簡化出來。 |