以编程方式将视图添加到viewstack flex

时间:2010-06-10 13:46:16

标签: flex viewstack

我正在试图弄清楚如何在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,但是现在我只想在那里获取视图

2 个答案:

答案 0 :(得分:2)

你可以量化“不工作”你是否收到编译错误;或运行时错误?或者是其他东西?

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

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

  

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

组成

答案 1 :(得分:1)

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

var myStack:ViewStack= new ViewStack();
mystack.addChild(homeScreen)
this.addChild(myStack);