0

我正在创建一个应用程序。在那有一个弹出窗口,因为我在一个 Scroller 中使用了一个 VGroup。

我在 VGroup 中动态添加我的自定义组件,并在弹出窗口关闭时删除所有组件,并将这些组件保存在内存池中。

在第一步中,我通过出现滚动条打开一个包含组件数量的弹出窗口。然后我关闭弹出窗口。

在第二步中,我打开了一个包含更少组件的相同弹出实例,因此不会出现滚动条并关闭弹出窗口。

现在,当我再次打开带有更多组件的弹出窗口时,不会出现滚动条。因此,每当弹出窗口打开时组件较少时,滚动条就会消失。

请帮助我...

这是完整的代码:

<s:Scroller id="myScroller"
        width="100%"
        height="210"
        horizontalScrollPolicy="off">
    <s:VGroup id="myContainer"
         width="100%"
         height="210" />
</s:Scroller>

添加组件的代码:

for each(var object:MyObject in _arr)
{
    var newView:MyCustomView = MyCustomViewPool.acquire();
    myContainer.addElementAt(newView, 0);
    newView.myData = object;
}

这是删除组件的代码:

for(var i:int = 0; i < myContainer.numElements; i++)
{
    var newViewElement:IVisualElement = myContainer.getElementAt(i);
    var myViewComponent:MyCustomView = newViewElement as MyCustomView;
    MyCustomViewPool.release(myViewComponent);

}
myContainer.removeAllElements();
4

1 回答 1

0

我认为您不必在 VGroup 上设置高度。只需删除分配。

于 2012-06-06T09:02:58.897 回答