无法在控制器中隐藏带有隐藏动画的叠加层

时间:2012-06-07 07:43:25

标签: sencha-touch-2

//这里我在按钮点击事件上创建叠加并使用ContentEl加载另一个视图:''。使用动画时叠加工作正常,但当用户选择该叠加中的特定项目时,我需要使用动画隐藏此叠加层。

if(!this.overlay)  {

        this.overlay = Ext.Viewport.add({
            xtype: 'panel',
            id:'menuOverlayView',
            modal: true,
            hideOnMaskTap: true,
            centered: true,
            scroll: 'vertical',
            autoDestroy:false,
            floating: true,
            showAnimation: {
                type: 'slide',
                duration: 4000,
                direction:'down'
            },
           hideAnimation: {
                type: 'slide',
                duration: 4000,
                direction:'up'
            },
            contentEl:'menuViewid',
            top: Ext.os.deviceType == 'Phone' ? '20%' : '20%',
            width: Ext.os.deviceType == 'Phone' ? 260 : 700,
            height: Ext.os.deviceType == 'Phone' ? 220 : 600
        });
    }

    this.overlay.show();

//我在控制器中隐藏此叠加层的代码如下。我正在访问面板ID并隐藏面板但面板应隐藏动画,如上所述 hideAnimation

var overlayView=Ext.getCmp('menuOverlayView');       
 overlayView.setHidden(true);

//所以我该怎样做才能隐藏面板并顺利滚动..我正在写下面的句子而不是工作给出错误

 overlayView.hideAnimation({type: 'slide', direction: 'up', duration:1000}); 

1 个答案:

答案 0 :(得分:1)

要隐藏重叠式panel,您需要调用panel's hide()方法。

Ext.getCmp('menuOverlayView').hide();

然后尝试使用hideAnimation代码。