2012-04-06 61 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);