1

我想在运行时将图像添加到 as:View 中。但是,我需要在覆盖数据时添加它们以优化视图的外观。但是,我的容器 s:View 尚未添加到显示列表或创建我不确定,因为我很难理解生命周期,而且我是 Flex 4.6 的新手。无论如何,容器还没有被实例化。那么如何将图像添加到元素列表中,以便在创建视图时将它们添加为元素。

基本上与在 mxml 上编写它们时发生的方式相同。

谢谢,戴夫

4

2 回答 2

0

你可以这样做:

var v:View = new View();
v.layout = new VerticalLayout();
var img:Image = new Image();
img.source = "/path/to/image1";
v.addElement(img);
img = new Image();
img.source = "/path/to/image2";
v.addElement(img);
img = new Image();
img.source = "/path/to/image3";
v.addElement(img);
this.addElement(v);
于 2013-11-14T15:31:29.410 回答
0

我必须在 createChildren 上而不是在覆盖数据时添加元素。

 override public function set data(value:Object):void
 {
   super.data = value;

   if(value == null)
       {
           //initialize the data with the images I need to cache
       }
}

override protected function createChildren():void
{
super.createChildren();
if(container && definition)//These are the components I need to have instanciated
{
       //I then use the cached Images I initialized on the override of data
}
}
于 2013-11-14T16:10:37.953 回答