我想逐个导航窗口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
});
我如何执行此操作?
答案 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
};