【问题标题】:Opening another window in an Appcelerator Titanium-app doesn't work在 Appcelerator Titanium 应用程序中打开另一个窗口不起作用
【发布时间】:2011-05-27 14:00:48
【问题描述】:

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

第一个窗口在我的 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})
});

【问题讨论】:

    标签: ios titanium appcelerator


    【解决方案1】:

    您应该创建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。

    【讨论】:

    • 我专门为 iPad 开发(将添加到原始问题中),所以我不能使用导航组
    • 可以在 iPad 内使用导航组。请参阅适用于 iPad 的 KitchenSink。 NavigationGroup 位于 iPhone 命名空间内,因为它可以同时用于 iPhone 和 iPad,这有点令人困惑,但确实如此。
    • 当我尝试在应用程序中使用它时,我得到 Script Error = Result of expression 'Ti.UI.iPhone' [undefined] is not an object。执行时。
    • 你的钛 sdk 版本是什么?
    • @Hedge 是否在您的 tiapp.xml 中启用了 iPhone?
    【解决方案2】:

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

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

    它在 iPad 上使用 NavigationGroup。

    我建议对您的项目进行清理并完全重建

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        当你声明var navGroup时,window应该设置为window: rootWindow,而不是window: window

        【讨论】:

          猜你喜欢
          • 2013-11-17
          • 1970-01-01
          • 1970-01-01
          • 2019-02-09
          • 2010-10-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多