Dynamic 在Sencha Touch 2中动态设置视图标题的正确方法是什么

Dynamic 在Sencha Touch 2中动态设置视图标题的正确方法是什么,dynamic,text,view,sencha-touch-2,Dynamic,Text,View,Sencha Touch 2,我目前正在sencha touch 2视图中设置视图标题,如下所示: initialize: function() { this.callParent(); var translator = Ext.create('MyApp.util.Translation'); this.config.title = translator.translateData('pagetitle.detail'); } translation类只是根据translator.trans

我目前正在sencha touch 2视图中设置视图标题,如下所示:

initialize: function() {
     this.callParent();
     var translator = Ext.create('MyApp.util.Translation');
     this.config.title = translator.translateData('pagetitle.detail');
}
translation类只是根据
translator.translateData
函数中提供的键从javascript对象中查找字符串

使用这种方法,当视图加载后,标题稍微向右移动(40像素左右)

我还尝试将其放置在视图listener
activate
中,结果类似


在ST2中动态设置视图标题的正确方法是什么?

您可以通过控制器执行此操作

Ext.define('MyApp.controller.MyController', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            titlebar: {
                autoCreate: true,
                selector: '#mytitlebar',
                xtype: 'titlebar'
            }
        },

        control: {
            "titlebar#mytitlebar": {
                initialize: 'onTitlebarInitialize'
            }
        }
    },

    onTitlebarInitialize: function(component, options) {
        var me = this;
        me.getTitlebar().setTitle("Second Title");
       // OR IN YOUR CASE:
       var translator = Ext.create('MyApp.util.Translation');
       me.getTitlebar().setTitle(translator.translateData('pagetitle.detail'));
    }
});
观点:

Ext.define('MyApp.view.MyContainer', {
    extend: 'Ext.Container',

    config: {
        items: [
            {
                xtype: 'titlebar',
                docked: 'top',
                itemId: 'mytitlebar',
                title: 'First Title'
            }
        ]
    }

});

我以前试过这个。首先,
this.setTitle()
未定义的
,即使使用
item.config.title=
也不会设置屏幕标题。是否使用导航视图?