2011-05-27 40 views
1

我的iPad应用程序(使用Appcelerator Titanium创建)基本上有5个窗口,并且希望能够前后导航(后退和后退为此目的的下一个按钮)。 以下方法不起作用。点击按钮时没有任何反应。在Appcelerator中打开另一个窗口钛应用程序不起作用

第一个窗口是在我的app.js开这样的:

var window = Titanium.UI.createWindow({ 
    url:'mainwindows.js', 
    modal: true 
}); 
window.open(); 
在mainwindows.js

然后我有所谓的 '下一个',这表明这个按钮:

buttonNext.addEventListener('click', function(e){ 

     var newWindow = Titanium.UI.createWindow({ 
      url: "step_1.js", 
      title: "Step 1" 
     }); 
     win.open(newWindow, { animated:true}) 
}); 

回答

2

您应该创建NavigationGroup来操作你的Windows那样:

//root window for nav group — your modal 
var rootWindow = Titanium.UI.createWindow({ 
    url:'mainwindows.js', 
    modal: true 
}); 

var navGroup = Ti.UI.iPhone.createNavigationGroup({ 
    window:window //your window (mainwindow.js) 
}); 

rootWindow.add(navGroup); 

//event handler 
buttonNext.addEventListener('click', function(e){ 
    var newWindow = Titanium.UI.createWindow({ 
     url: "step_1.js", 
     title: "Step 1" 
    }); 
    navGroup.open(newWindow); 
}); 

rootWindow.open(); 

探索KitchenSink,那里有很多例子,包括NavigationGroup。

+0

我开发专门为iPad(将添加到原来的问题),所以我不能使用导航组 – Hedge 2011-05-27 14:14:08

+0

你_can_使用iPad内的导航组。参见KitchenSink for iPad。 NavigationGroup位于iPhone命名空间内,因为它可以用于iPhone和iPad,这有点令人困惑,但它是。 – knuku 2011-05-27 14:19:38

+0

当我尝试在应用程序中使用它时,我得到脚本错误=表达式的结果'Ti.UI.iPhone'[undefined]不是一个对象。执行后。 – Hedge 2011-05-27 15:05:32

1

清理项目,然后再次运行。这绝对可以解决完全出乎意料的“奇怪”问题。我的最爱之一是:

表达式结果'Ti.UI.iPhone'[undefined]不是一个对象。

0

当你声明var navGroup,窗应设置为window: rootWindow,不window: window

相关问题