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