关于textfield中内容还未到行宽就自动换行的问题

 今天再次遇到这个问题,以前遇到总是没有细致的去研究。找过很多,觉得可靠的理由大概就是:

TextField有一个自动识别是否是同类型字符.如果前面是汉字,后面是字母,而汉字填充完,后面还有小段空间,但不能把一定长度的字母填充进去的话,就会自动换行,再填充.但如果宽度足够,就不会出现这种情况了!

最后找得了一个比较靠谱的办法就是,把自动换行属性设置为false,multiline的属性设置为true。再配以:

 1 var addLen:int = 0;
 2 var str:String = _textField.text;
 3 for (var i:int = 0; i < str.length; i++) {
 4     addLen += _textField.getCharBoundaries(i).width;
 5     if(addLen > 249) {
 6         var ss:String = str.charAt(i-1) + "\n";
 7     _textField.replaceText(i-1,i,ss);
 8     addLen = 0;
 9     }
10 }    

问题就得以解决了。

posted on 2013-11-15 12:01  L . W  阅读(304)  评论(0)    收藏  举报