adr*_*ian 2 iphone window titanium
假设我有3个文件Window1.js,Window2.js并且Window3.js.
我可以从导航Window1到Window2和Window2到Window3没有问题.
当我想从window3回到window2时,我会这样做:window3.close();
现在我在window2 上,想要回到window1,所以我做了:window2.close();.但是反而让我回到了window3而不是我想要的window1.有没有办法回到window1?有人可以解释我如何在钛合金窗口之间导航吗?谢谢
看看这个:wiki提供了一个带有示例代码的酷视频.也许你可以提供一些可以验证你的问题..
这个例子本身非常好,因为它适用于任意数量的windows.它提供了一个堆栈:
this.windowStack = [];
Run Code Online (Sandbox Code Playgroud)
这将是filset window.navbarHidden = true或以当前窗口引导,窗口将在navgroup中打开.这提供了顶部的iphone导航栏(带后退键等)
this.windowStack.push(windowToOpen);
this.navGroup.open(windowToOpen);
Run Code Online (Sandbox Code Playgroud)
该示例还提供了获取第一个窗口的可能性,即window1.为此,堆栈将被刷新
for(var i = 1, l = windows.length; i < l; i++) {
(this.navGroup) ? this.navGroup.close(windows[i]) : windows[i].close();
}
Run Code Online (Sandbox Code Playgroud)
[更新]
如果您对刚刚设置的导航栏不感兴趣
window1.navbarHidden = true
Run Code Online (Sandbox Code Playgroud)
另外你可以像这样编辑导航控制器:
exports.NavigationController.prototype.open = function(/*Ti.UI.Window*/windowToOpen) {
//add the window to the stack of windows managed by the controller
this.windowStack.push(windowToOpen);
//grab a copy of the current nav controller for use in the callback
var that = this;
windowToOpen.addEventListener('close', function() {
that.windowStack.pop();
});
//This is the first window
if(this.windowStack.length === 1 && (Ti.Platform.osname === 'android')) {
windowToOpen.exitOnClose = true;
}
// open
windowToOpen.open();
};
Run Code Online (Sandbox Code Playgroud)