: hr :
31.03.2009, 19:48
Друзья, прошу совета, ковыряюсь с flex component lifecycle и позникает
куча вопросов.
1. Если я расширяю UIComponent с вызовом методов инвалидации вроде все
понятно - когда считаю нужным, тогда и вызываю. Однако если расширить
например Canvas, он каким-то образом вызывает методы инвалидации когда ему угодно.
Например добавляю child'а (знаю что предпочтительны свойства, метод
применен для простоты):
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
public function func():void
{
trace('func');
var l_txt:UITextField = new UITextField();
l_txt.text = "test";
addChild(l_txt);
}
...
- вызывается invalidateSize. Каким образом это происходит?
2. Насколько я понимаю для компонентов с жестко определенными
размерами measure не вызывается. Как этого добиться для собственых
компонентов расширяющих UIComponent.
3. В какой момент для компонентов с фиксированными размерами
устанавливать measuredHeight/measuredWidth.
куча вопросов.
1. Если я расширяю UIComponent с вызовом методов инвалидации вроде все
понятно - когда считаю нужным, тогда и вызываю. Однако если расширить
например Canvas, он каким-то образом вызывает методы инвалидации когда ему угодно.
Например добавляю child'а (знаю что предпочтительны свойства, метод
применен для простоты):
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
public function func():void
{
trace('func');
var l_txt:UITextField = new UITextField();
l_txt.text = "test";
addChild(l_txt);
}
...
- вызывается invalidateSize. Каким образом это происходит?
2. Насколько я понимаю для компонентов с жестко определенными
размерами measure не вызывается. Как этого добиться для собственых
компонентов расширяющих UIComponent.
3. В какой момент для компонентов с фиксированными размерами
устанавливать measuredHeight/measuredWidth.