我如何进入第一个窗口的第4个导航窗口(钛iphone和Android)?

时间:2012-06-01 16:04:34

标签: android iphone titanium

我想逐个导航窗口4次,最后我想要一个窗口,然后我如何来到第一个窗口。 我如何进入第一个窗口的第四个导航窗口

   var tabGroup        = Titanium.UI.createTabGroup();

var win1            = Titanium.UI.createWindow({

    backgroundColor : '#fff',
    navBarHidden    : true,
    orientationModes: [
        Titanium.UI.PORTRAIT,
    ]
});

var tab1            = Titanium.UI.createTab({
    title           : 'Menu',
    window      :  win1,
});
var btn         =Ti.UI.createButton({
    title           :"click",
    height      : "100",
    width       : "100",
});
win1.add(btn);
btn.addEventListener('click',function(){
    var win2            = Titanium.UI.createWindow({
        url     : "win2.js"
        backgroundColor : '#fff',
        navBarHidden    : true,
        orientationModes: [
            Titanium.UI.PORTRAIT,
        ]
    });

Ti.UI.currentTab.open(win2);



});

tabGroup.addTab(tab1);
tabGroup.open()

win2.js

var curwin = Ti.UI.currentWindow;
var btn         =Ti.UI.createButton({
    title           :"click",
    height      : "100",
    width       : "100",
});
curwin.add(btn);
btn.addEventListener('click',function(){
    var win3            = Titanium.UI.createWindow({
        url     : "win3.js"
        backgroundColor : '#fff',
        navBarHidden    : true,
        orientationModes: [
            Titanium.UI.PORTRAIT,
        ]
    });

Ti.UI.currentTab.open(win3);
});

win3.js

var curwin = Ti.UI.currentWindow;
var btn         =Ti.UI.createButton({
    title           :"click",
    height      : "100",
    width       : "100",
});
curwin.add(btn);
btn.addEventListener('click',function(){
    var win4            = Titanium.UI.createWindow({
        url     : "win4.js"
        backgroundColor : '#fff',
        navBarHidden    : true,
        orientationModes: [
            Titanium.UI.PORTRAIT,
        ]
    });

Ti.UI.currentTab.open(win4);
});

win4.js

var curwin = Ti.UI.currentWindow;
var btn         =Ti.UI.createButton({
    title           :"click",
    height      : "100",
    width       : "100",
});
curwin.add(btn);
btn.addEventListener('click',function(){
// Here I want to back First Window  how i can perform this iphone or android both
});

我如何执行此操作?

1 个答案:

答案 0 :(得分:2)

Forging Titanium Episode 2中,他们开发了一个跨平台的导航控制器,在那里回到第一个窗口,他们将每个窗口存储在一个数组中,然后它们遍历数组并关闭存储在其中的所有窗口。下面是他们对这个想法的一段代码。

//go back to the initial window of the NavigationController
exports.NavigationController.prototype.home = function() {
    //store a copy of all the current windows on the stack
    var windows = this.windowStack.concat([]);
    for(var i = 1, l = windows.length; i < l; i++) {
        (this.navGroup) ? this.navGroup.close(windows[i]) : windows[i].close();
    }
    this.windowStack = [this.windowStack[0]]; //reset stack
};