在Appcelerator Titanium-app中打开另一个窗口不起作用

时间:2011-05-27 14:00:49

标签: ios titanium appcelerator

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

第一个窗口在我的app.js中打开,如下所示:

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

然后在mainwindows.js中我有一个名为'next'的按钮,它执行此操作:

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

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

4 个答案:

答案 0 :(得分:2)

您应该创建NavigationGroup来操作您的窗口:

//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。

答案 1 :(得分:1)

这是我博客中的完整源代码的示例

http://blog.clearlyinnovative.com/post/4043980803/titanium-appcelerator-quickie-minimal-ipad-splitview

它使用NavigationGroup和iPad。

我建议你清理你的项目并完成重建

答案 2 :(得分:1)

清理项目,然后重新运行。这肯定解决了完全出乎意料的“奇怪”问题。我最喜欢的一个是:

  

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

答案 3 :(得分:0)

当您声明var navGroup时,窗口应设置为window: rootWindow,而不是window: window