0

I'm trying to figure out how to in as3 (not mxml) add views to a view stack.

For example I have a view component like so

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)
        }

    }
}

I've being trying to add it to a viewstack in the following way

var myStack:ViewStack= new ViewStack();

mystack.addChild(homeScreen)

This does not work. Whats the correct way?

I'm aware I have to assign ID's but for now I just want to get the view in there

dubbeat
  • 7,706
  • 18
  • 70
  • 122

2 Answers2

2

Can you quantify "Does not work" Are you getting a compile time error; or a run time error? Or something else?

I'm pretty sure all of the ViewStack's children must be containers; so in theory your custom component should be extending container, not UIComponent.

To quote http://livedocs.adobe.com/flex/3/langref/mx/containers/ViewStack.html

A ViewStack navigator container consists of a collection of child containers

JeffryHouser
  • 39,401
  • 4
  • 38
  • 59
1

You need to add the AS3-created ViewStack to some parent on the stage.

var myStack:ViewStack= new ViewStack();
mystack.addChild(homeScreen)
this.addChild(myStack);
Samuel Neff
  • 73,278
  • 17
  • 138
  • 182