textField textWidth不正确ActionScript 3

时间:2011-02-14 20:45:32

标签: actionscript-3

我有一个使用postscript字体的动态textField(使用CS5中的Classic字体引擎)。我在作者时创建了textField。当我尝试使用textField.textWidth属性确定textField的实际宽度时,返回的宽度非常错误。例如,屏幕上显示的文本的宽度约为350像素。但返回的宽度只有150像素。我尝试过切换字体,并使用TextLineMetrix无济于事。

为什么我没有得到准确的宽度?

3 个答案:

答案 0 :(得分:9)

确保设置文本字段的autoSize属性,这将使flash将宽度识别为文本的宽度而不是包含文本字段的宽度。尝试这样的事情......

myTextField.autoSize = TextFieldAutoSize.LEFT;
trace(myTextField.textWidth);

答案 1 :(得分:2)

我发现getBounds给出了最接近的结果:

var bounds:Rectangle = textfield.getBounds(textfield.parent);

答案 2 :(得分:0)

var str:String = "hello world";
mytf.autoSize = true;
mytf.text = str;
trace(mytf.textWidth )
trace (mytf._width)

62和63.8

奇怪:S