Swiz框架与AIR -在子窗口上使用ViewAdded/ViewRemoved



我正在尝试在使用Swiz进行依赖注入的AIR 2.7应用程序中实现弹出窗口(NativeWindowType.UTILITY)。

我遵循了Swiz的指导方针,我已经能够找到,并在创建窗口的类上实现了ISwizAware,我在打开窗口之前调用_swiz.registerWindow(),在此之后依赖注入在窗口本身上工作得很好。

然而,我遇到的问题是,我在该窗口内有一个子视图,并且我有一个使用[ViewAdded]和[ViewRemoved]标签的中介。添加视图和删除视图的函数都没有触发。我认为问题是:

  1. 子视图没有正确注册Swiz。
  2. swiz实例不知道bean(我尝试手动添加bean,但是没有任何效果)。
  3. ViewAdded和ViewRemoved元数据标签根本不起作用,因为每个NativeWindow对象都有自己的stage instance。

有人知道更多关于这个吗?

弹出窗口是一种特殊情况,因为它们不会被添加到与应用程序相同的显示树下。在Stage (Flash Player的主要包装器)下,您将有应用程序,其中您的代码驻留在Swiz,但Popup是在应用程序之上的一个单独的层。因为他们是兄弟姐妹,当弹出窗口被添加到舞台时,Swiz无法监听。

解决这个问题的方法是手动设置弹出窗口的属性(这通常是最简单的方法)或手动将弹出窗口添加到Swiz的感知。关于这一点,您必须查看文档,因为我已经很长时间没有接触Swiz了。

相关内容

  • 没有找到相关文章