2012-01-31 2 views

답변

2

쇠고리의 대답은 실제 'lineHeight'스타일이 아닌 텍스트의 높이를 제공합니다. 당신은 쉽게 다음과 같이 해당 스타일을 얻을 수 있습니다 :

myLabel.getStyle("lineHeight"); 

문제는 이것이 상대 값 (백분율) 또는 (픽셀)를 절대 값을 반환 할 수 있다는 것입니다. 명시 적으로 lineHeight가 설정되지 않은 경우 기본값은 "120%"입니다. 그래서 여기

우리는 두 경우 모두 픽셀의 값을 얻을 수있는 방법은 다음과 같습니다

var lineHeightStyle:* = myLabel.getStyle("lineHeight"); 

//its already a value in pixels 
if (lineHeightStyle is Number) var lineHeight:Number = lineHeightStyle; 
//it's a relative value: let's calculate 
else { 
    var lineMetrics:TextLineMetrics = myLabel.measureText(myLabel.text); 
    //get the numeric value from the string and divide it by 100 
    var ratio:Number = int(lineHeightStyle.match(/\d+/)[0])/100; 
    lineHeight = lineMetrics.height * ratio; 
} 
1

다음을 시도해 보셨습니까?

var lineMetrics:TextLineMetrics = label.measureText(label.text); 
var result:Number = lineMetrics.height;