展示&隐藏Sencha Touch导航视图的事件

时间:2013-05-11 15:13:28

标签: sencha-touch sencha-touch-2

当视图被推送并弹出到视图堆栈上时,我希望能够在导航视图栏中隐藏和显示某些按钮。惭愧我无法从视图配置本身控制它(但我会在另一个时间保存那个呻吟)。

我想知道在导航视图上按下/弹出视图时我应该使用哪些事件。文档有时会撒谎,而且我多次被告知不太信任它,所以我不是!来吧Sencha,微软不会侥幸逃脱! 那么任何想法?当我尝试打印视图的所有事件时,我的行为非常不可靠:

我发现了什么: 当我推送一个视图时,我得到了:

initialize
hide
show

当我弹出一个视图时,我得到了:

hide
show

翻转是怎么回事?!?

显示正在发生的事件的代码:

 control: {           
            myViewRef: {                
                initialize: function() { console.log("initialize") },
                activated: function() { console.log("activated") },
                deactivated: function() { console.log("deactivated") },
                painted: function() { console.log("painted") },
                show: function() { console.log("show") },
                hide: function() { console.log("hide") }
            },
  }

实际推送/弹出视图的代码:

 onInBoxListViewItemTap: function(scope, index, item, record) {
        console.log("onInBoxListViewItemTap");

        var detailsView = this.getEnquiryDetailsViewRef();

        // push view
        var navview = this.getMyInboxViewRef();
        navview.push(detailsView);
    }

这些东西实际上是否正常工作,即推送和弹出视图时是否有保证会触发的具体事件?

2 个答案:

答案 0 :(得分:0)

首先 - 你的代码中有一个拼写错误。您需要引用activatedeactivate而不是activate_ddeactivate_d

其次,我会尝试订阅导航视图的pushpop事件,看看它是否能满足您的需求。

答案 1 :(得分:0)

我有同样的问题。我使用绘制的处理程序来解决它。 您无法在控制器中处理“绘制”事件 the painted event description