0

私は1つのアプリケーションを作成しています。1 つの Scroller で 1 つの VGroup を使用したという点で、1 つのポップアップがあります。

カスタム コンポーネントを VGroup に動的に追加し、ポップアップの終了時にすべてのコンポーネントを削除して、それらのコンポーネントをメモリ プールに保存します。

最初のステップでは、スクロール バーが表示されるまで、コンポーネントの数を含むポップアップを開きます。次に、ポップアップを閉じます。

2 番目のステップでは、スクロール バーが表示されず、ポップアップを閉じるように、いくつかの少ないコンポーネントで同じポップアップ インスタンスを開きます。

そして、より多くのコンポーネントでポップアップを開くと、スクロールバーが表示されなくなりました。そのため、ポップアップがより少ないコンポーネントで開かれると、スクロールバーが消えます。

助けてください...

完全なコードは次のとおりです。

<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 に答える