2012-04-06 66 views
0

我遇到了tabGroups問題。我創建了一個新的應用程序(這是我的第一個應用程序),當我點擊表格中的一個選項,我呼籲:Titanium TabGroup

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

的問題是沒有在頁面的頂部沒有標籤要回我在哪裏。所以我需要使用tabgroups。我的問題是我不知道如何使用它們。當我用上面的替換:

Ti.UI.currentTab.open(win); 

我得到一個錯誤,currentTab沒有定義。我如何啓用tabGroups?我有另一個名爲AppTabGroup.js的文件,它具有:var self = Ti.UI.createTabGroup();在其中,但我不知道如何使用它。

下面是整個頁面,我正在做一些事情離開基地。

功能APPWINDOW(標題){ 變種自= Ti.UI.createWindow({ 標題:標題, 的backgroundColor: '白' });

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(tableview);

return self; 

};

module.exports = AppWindow;

回答

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); 
相關問題