суббота, 4 мая 2013 г.

UIComponent

При написании своего ScrollBar'а столкнулся с проблемой: размер контента ( объекта, который должен был прокручиваться ) не соответствовал его реальному размеру.

После недолгого ковыряния выяснилось, что проблема была в UI компонентах. Их размер был неправильный даже после добавления компонентов на сцену ( после события Event.ADDED_TO_STAGE ).

В поисках способа инициализации компонентов, я наткнулся на две функции: callLater и validateNow.

Вкратце что они делают.

callLater( function, paremeters )
Вызывает функцию function( parameters ) при "валидации" компонетна.

validateNow()
Принудительно выполняет валидацию компонета.

Вообще, существуют еще 3 функции: validateSize, validateProperties, и validateDisplayListvalidateNow вызывает все эти функции сразу.

Мне, по сути, нужно было вызвать только validateSize, но, так как я не использую Flex, у меня просто не было этих функций, была только validateNow.

После вызова validateNow у всех компонентов, размер контента нормализовался. Все счастливы.

Комментариев нет:

Отправить комментарий