Question

J'essaie d'implémenter une fenêtre contextuelle (NativeWindowType.UTILITY) dans une application AIR 2.7 qui utilise Swiz pour l'injection de dépendances.

J'ai suivi les directives Swiz que j'ai pu trouver et implémenté ISwizAware sur la classe qui crée la fenêtre, et j'appelle _swiz.registerWindow () avant d'ouvrir la fenêtre, et l'injection de dépendances fonctionne bien sur le fenêtre elle-même après cela.

Cependant, le problème que je rencontre est que j'ai une vue enfant dans cette fenêtre et que j'ai un médiateur qui utilise les balises [ViewAdded] et [ViewRemoved]. Ni la vue ajoutée ni les fonctions de vue supprimées ne se déclenchent. Je pense que le problème est soit:

  1. La vue enfant ne s'enregistre pas correctement avec Swiz.
  2. L'instance swiz ne connaît pas les beans (j'ai cependant essayé d'ajouter manuellement le bean, ce qui n'a eu aucun effet).
  3. Les balises de métadonnées ViewAdded et ViewRemoved ne fonctionnent tout simplement pas car chaque objet NativeWindow a sa propre instance de scène.

Quelqu'un en sait-il plus à ce sujet?

Était-ce utile?

La solution

Popups are a special case since they don't get added under the same display tree as your application. Under Stage (the main wrapper for Flash Player), you'll have Application where your code resides for Swiz, but Popup is in a separate layer above Application. Since they're siblings, Swiz cannot listen in for when the popup is being added to the Stage.

The way around this is to either set the properties of the popup manually (which is normally the easiest way) or manually add the popup to Swiz's awareness. For this you'll have to look at the documentation since I haven't touched Swiz in a long time.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top