我正在创建一个应用程序。在那有一个弹出窗口,因为我在一个 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();