标题栏不会隐藏或显示

时间:2014-02-05 19:52:55

标签: extjs sencha-touch sencha-touch-2 sencha-touch-2.1

标题栏类不会像在sencha文档中那样隐藏或显示。我正在像这样初始化它

{
    xtype: 'titlebar',
    docked: 'top',
    hidden: true
};

所以它开始隐藏。当我设置hidden: false时,它会显示出来。我在一个按钮中引用它,当按下按钮时,它会显示或隐藏。

bar.show()bar.hide()不起作用。 bar.setHidden(true)bar.setHidden(false)都不是。bar.hidden = truebar.hidden = falsevar settingsbar = { xtype: 'meterreadings_settingsbar', docked: 'top', added: false }; { xtype: 'mbButton', text: 'Settings', align: 'right', listeners: { tap: function(source, e, eOpts) { if(!settingsbar.added){ settingsbar.added = true; Ext.ComponentQuery.query('.meterreadings_main')[0].add(settingsbar); } else{ if(settingsbar.hidden){ settingsbar.show(); } else{ settingsbar.hide(); } } } } } 都不是。{{1}}或{{1}}。我的按钮中的事件处理程序确实有效,我按下时会打印一条消息。

让标题栏消失并重新出现的替代方法是什么?

更新

下面是我的对象和按钮监听器的代码。以下是整个类文件的链接:http://pastebin.com/tbS35Czk

我的设置栏(这是在另一个类中定义的:http://pastebin.com/xP5NSrb8

{{1}}

这是按钮和监听器:

{{1}}

1 个答案:

答案 0 :(得分:0)

解决了这个问题。而不是做

var settingsbar = {
                xtype: 'meterreadings_settingsbar',
                docked: 'top',
                added: false
              };

我需要做

var settingsbar = Ext.create('pw.meterreadings.main.settingsbar.Settingsbar',{
                docked: 'top',
                added: false
              });

不同之处在于我使用的是Ext.create而不是xtype