如何使用AS3从Flex Mobile应用程序操作栏中删除Button?

时间:2011-09-27 19:58:52

标签: flash actionscript-3 flex flex-mobile

我如何从flex手机应用中的actionBar“actionContent”中删除Button?

我试过这些:

this.stage.removeChild(menu_btn);
this.removeChild(menu_btn);
stage.removeChild(menu_btn);
this.stage.removeElement(menu_btn);
this.removeElement(menu_btn);
stage.removeElement(menu_btn);

我没有运气好。我猜测它在actioncontent中的位置不被认为是舞台。有什么想法吗?

<s:actionContent>
        <s:CalloutButton id="menu_btn" icon="@Embed('assets/images/menu/menu_btn.png')" visible="false">
            <s:VGroup>
            <s:Button id="btn_one" label="Button" />
            </s:VGroup>
        </s:CalloutButton>
    </s:actionContent>

actionContent是这样设置的,我知道与大多数mxml的东西一样,我可以给它一个ID来引用它,但我不知道如何给动作内容一个id号<s:actionContent id="testID">不起作用。那么如何才能访问它以删除它?让它变得不可见并不会削减它我需要实际删除它。

1 个答案:

答案 0 :(得分:3)

由于actionContentActionBar的属性,它已经是对象的“id”,即一个数组。尝试使用Array方法将其删除。例如,如果要删除的内容是最后一个元素,则可以使用actionContent.pop()。或者使用splice()

actionContent.splice(actionContent.indexOf(menu_btn),1);

将从数组中删除元素。