我遇到tabGroups问题。我创建了一个新的应用程序(这是我的第一个应用程序),当我点击表中的一个选项时,我正在调用:
win.open(win,{annimated:true});
问题是页面顶部没有标签可以回到我原来的位置。所以我需要使用tabgroups。我的问题是我不确定如何使用它们。当我用以下内容替换上面的内容时:
Ti.UI.currentTab.open(win);
我收到一个错误,即没有定义currentTab。如何启用tabGroups?我有另一个名为AppTabGroup.js的文件,其中包含:var self = Ti.UI.createTabGroup();在其中,但我不知道如何使用它。
以下是整个页面,我正在做一些基础上的事情。
function AppWindow(title){ var self = 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;
答案 0 :(得分: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);