[url]http://blog.csdn.net/shangmw/archive/2010/08/13/5810023.aspx[/url]
最近在做项目时,发现了textfield的一个BUG,不过这个
BUG不是很大,相信也很难引起ABODE的注意吧
import flash.text.TextField;
var txt:TextField = new TextField();
txt.width = 100;
txt.height = 100;
txt.text = "Line 1\nLine 2\nLine 3\nLine 4\nLine 5\nLine 6\nLine 7\nLine 8\nLine 9\nLine 10";
addChild(txt);
trace("bottomScrollV is:"+txt.bottomScrollV); // 输出 6, 正确
trace("maxScrollV is:"+txt.maxScrollV); // 输出 5, 正确
stage.addEventListener(MouseEvent.CLICK,on_click);
function on_click(evt:MouseEvent):void
{
txt.height = 50;
trace("bottomScrollV is:"+txt.bottomScrollV); // 输出 6, 错误!(应输出3)
trace("maxScrollV is:"+txt.maxScrollV); // 输出 5, 错误!(应输出8)
}
以下是修正方法,具体的解释我也不太清楚,也许是在getCharBoundaries时进行重新定位吧
function on_click(evt:MouseEvent):void
{
txt.height = 50;
txt.getCharBoundaries(0);
trace("bottomScrollV is:"+txt.bottomScrollV); // 输出 3, 正确!
trace("maxScrollV is:"+txt.maxScrollV); // 输出 8, 正确!
}
最近在做项目时,发现了textfield的一个BUG,不过这个
BUG不是很大,相信也很难引起ABODE的注意吧
import flash.text.TextField;
var txt:TextField = new TextField();
txt.width = 100;
txt.height = 100;
txt.text = "Line 1\nLine 2\nLine 3\nLine 4\nLine 5\nLine 6\nLine 7\nLine 8\nLine 9\nLine 10";
addChild(txt);
trace("bottomScrollV is:"+txt.bottomScrollV); // 输出 6, 正确
trace("maxScrollV is:"+txt.maxScrollV); // 输出 5, 正确
stage.addEventListener(MouseEvent.CLICK,on_click);
function on_click(evt:MouseEvent):void
{
txt.height = 50;
trace("bottomScrollV is:"+txt.bottomScrollV); // 输出 6, 错误!(应输出3)
trace("maxScrollV is:"+txt.maxScrollV); // 输出 5, 错误!(应输出8)
}
以下是修正方法,具体的解释我也不太清楚,也许是在getCharBoundaries时进行重新定位吧
function on_click(evt:MouseEvent):void
{
txt.height = 50;
txt.getCharBoundaries(0);
trace("bottomScrollV is:"+txt.bottomScrollV); // 输出 3, 正确!
trace("maxScrollV is:"+txt.maxScrollV); // 输出 8, 正确!
}