2011-12-20 1 views
0

Мне нужно полностью инициализировать пользовательский компонент в моем приложении Flex (то есть я должен иметь доступ к нему из скрипта действия и получить его свойства и его дочерние элементы и т. Д.), Но я не хочу добавлять его на дисплей или делать это видно.Как полностью инициализировать компонент, но не добавлять его на дисплей? Flex

Я попытался добавить его в свой видимый компонент, но сохранил его видимость, но часто многие его свойства задаются только тогда, когда они нарисованы, поэтому я не получаю то, что мне нужно.

Есть ли способ добавить пользовательский компонент к некоторому «виртуальному» дисплею, который не отображается для пользователя?

+1

Есть ли какая-то особая причина, почему добавление его в список отображения и сохранение его невидимым не является вариантом? – weltraumpirat

+0

Я думаю, что вы указываете класс singleton, создавая объект, который не будет видимым никому, пока он не будет добавлен как дочерний для любого класса. следовательно, вы можете получить доступ в любом месте приложения. – Exhausted

+0

@weltraumpirat: компонент, который я хочу скрыть, является сторонним компонентом, который мы используем в нашем приложении. У нас нет исходного кода. –

ответ

1

Вы можете добавить компонент в невидимый спрайт - таким образом, сам компонент мог бы находиться на сцене и иметь свой собственный атрибут visible равным true.

0

Вы пытались использовать initialize()? После добавления представления в список отображения начинается этап инициализации. Вызов initialize() перед тем, как addChild() должен позволить вам инициализировать представление, не требуя сначала добавить его на сцену.

Для получения дополнительной информации посетите:

+1

Это не сработает (я пробовал раньше). Существуют другие методы, вызываемые во время инициализации компонента. Я сдался после полчаса копания. – RIAstar

0

Не уверен, если это возможно без добавления его в список отображения, хотя я бы это было в какой-то степени.

Мне когда-то приходилось настраивать прокси-сервер, который не работал с реальным компонентом, из-за некоторых странных проблем скиннинга. Так что вместо этого у меня было PopupMananger, добавив окно в качестве всплывающего окна, добавив в компонент мой компонент, который называется validateNow, нарисовал его в растровых данных, удалил всплывающее окно и использовал данные растровых изображений в качестве прокси.

Так что, что вы пытались, не было позвонило по телефону validateNow.

Смежные вопросы