след (temp.height);
Редактировать на основе комментариев:
ОК. Я понимаю, почему, поскольку вы полагаетесь на высоту по умолчанию, элемент управления не имеет свойства высоты до тех пор, пока пользовательский интерфейс не нарисует его, поэтому вы не сможете вернуть его, пока он не будет добавлен в родительский объект. так что это простое приложение вернет 22, когда вы нажмете на текст:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.TextInput;
private function init():void{
var bar:TextInput = new TextInput
bar.x = 5;
bar.y = 5
bar.width = 50;
bar.name = "bar";
foo.addChild(bar);
bar.addEventListener(FlexEvent.CREATION_COMPLETE,runthis);
}
private function runthis(evt:FlexEvent):void{
trace(TextInput(evt.currentTarget).height);
}
]]>
</mx:Script>
<mx:Canvas x="10" y="10" width="200" height="200" id="foo">
</mx:Canvas>
</mx:Application>
Но это только потому, что я не пытаюсь получить высоту до тех пор, пока предмет не будет нарисован.
ИЛИ основываясь на том, что сказал пользователь 294702: Это тоже работает.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.controls.TextInput;
private function init():void{
var bar:TextInput = new TextInput
bar.x = 5;
bar.y = 5
bar.width = 50;
bar.name = "bar";
foo.addChild(bar);
foo.validateNow();
trace(bar.height);
}
]]>
</mx:Script>
<mx:Canvas x="10" y="10" width="200" height="200" id="foo">
</mx:Canvas>
</mx:Application>
Надеюсь, вам сегодня понравился урок пользовательского интерфейса, я не могу принимать советы, но, пожалуйста, дайте положительные результаты в моей оценке или конструктивной критике. :-)