0

我试图弄清楚如何在 as3(不是 mxml)中将视图添加到视图堆栈。

例如我有一个像这样的视图组件

package components.screens
{
    import mx.controls.Label;
    import mx.core.UIComponent;

    public class HomeScreen extends UIComponent
    {
        private var l:Label=new Label()

        public function HomeScreen()
        {
            super();

            l.text="home";

            addChild(l)
        }

    }
}

我正在尝试通过以下方式将其添加到视图堆栈中

var myStack:ViewStack= new ViewStack();

mystack.addChild(homeScreen)

这不起作用。正确的方法是什么?

我知道我必须分配 ID,但现在我只想在那里查看视图

4

2 回答 2

2

您能否量化“不起作用”您是否遇到编译时错误;还是运行时错误?或者是其他东西?

我很确定 ViewStack 的所有孩子都必须是容器;所以理论上你的自定义组件应该是扩展容器,而不是 UIComponent。

引用http://livedocs.adobe.com/flex/3/langref/mx/containers/ViewStack.html

ViewStack 导航器容器由一组子容器组成

于 2010-06-10T13:51:49.207 回答
1

您需要将 AS3 创建的 ViewStack 添加到舞台上的某个父级。

var myStack:ViewStack= new ViewStack();
mystack.addChild(homeScreen)
this.addChild(myStack);
于 2010-06-10T13:50:30.253 回答