0

tabGroups に問題があります。私は新しいアプリを作成しました (これは私の最初のアプリです)。表のオプションをクリックすると、次のように呼び出されます。

win.open(win,{annimated:true});

問題は、ページの上部に元の場所に戻るためのタブがないことです。したがって、タブグループを使用する必要があります。私の質問は、それらの使用方法がわからないということです。上記を次のように置き換えると:

Ti.UI.currentTab.open(win);

currentTab が定義されていないというエラーが表示されます。tabGroups を有効にするにはどうすればよいですか? var self = Ti.UI.createTabGroup(); を持つ AppTabGroup.js という別のファイルがあります。その中にありますが、使い方がわかりません。

以下は、ベースから外れた何かをしている場合のページ全体です。

function AppWindow(title) { var self = Ti.UI.createWindow({ title:title, backgroundColor:'white' });

var data = [

{ title:"Catalog", hasChild:true, test:'ui/CatalogWindow.js', header:'' },
{ title:"Service Calculator", hasChild:true, header:'' }
];

var tableview = Titanium.UI.createTableView({
data:data,
style:Titanium.UI.iPhone.TableViewStyle.GROUPED
});

tableview.addEventListener('click', function(e)
{
    if (e.rowData.test)
    {
        var win = 
    Titanium.UI.createWindow({
        url:e.rowData.test,
        title:e.rowData.title
    });
    win.open(win,{annimated:true});
}

}); self.add(テーブルビュー);

return self;

};

module.exports = AppWindow;

4

1 に答える 1

2

あなた一人じゃありません。他の人 (私自身を含む) は、Ti.UI.currentTab が未定義であることに混乱しています。

http://developer.appcelerator.com/question/98501/titaniumuicurrenttab-is-null

過去に私がこれを回避した方法は、含まれているタブをウィンドウに渡し、その参照を使用して別のウィンドウを開くことができるようにすることでした。したがって、あなたの例では、 AppTabGroup.js は次のようになります。

var AppWindow = require('src/AppWindow');

var self = Ti.UI.createTabGroup();

//create app tabs
var appTab = Ti.UI.createTab({
    title : L('app'),
    icon : '/images/app_tab.png',
    window : AppWindow
});
AppWindow.setContainingTab(appTab);

次に AppWindow.js で:

exports.setContainingTab = function(tab) {
    containingTab = tab;
}
var win = Titanium.UI.createWindow({
    url:e.rowData.test,
    title:e.rowData.title
});

containingTab.open(win);
于 2012-04-06T20:54:32.907 に答える