对于使用Appcelerator Titanium SDK 3.1.2开发的iPad应用程序,我有一个Ti.UI.Tab组,其中包含5个Ti.UI.Tabs。每个选项卡都包含一个根Ti.UI.Window,某些选项卡在相关时打开其他窗口。
当您双击选项卡组中的任何选项卡时,双击选项卡会将其内容重置为根窗口,自动关闭其中已打开的窗口。
我想禁用此功能,但Tab组或Tab本身没有任何属性可以阻止双击发生。
答案 0 :(得分:1)
使用视图创建自己的TabGroup控件的另一种方法是在Tab中添加一个NavigationGroup控件,以防止在Tab上双击时重置Windows。
在TabGroup的Tab控件中,创建一个空的Window Control并像平时一样将其链接到Tab。然后,创建一个NavigationGroup控件并将其添加到选项卡的根窗口:
//Set up your Tab Group with a Tab and a Root Window for the Tab
var tabGroup = Ti.UI.createTabGroup();
var tabWin = Ti.UI.createWindow({
navBarHidden:true
});
var tab = Ti.UI.createTab({
window:tabWin
});
tabGroup.addTab(tab);
//Create a Root Window Control for the Navigation Group
var navWin = Ti.UI.createWindow({
title:'NavGroup Root Window'
});
//Create a NavigationGroup Control and add it to the Root Window
var nav = Ti.UI.iPhone.createNavigationGroup({
window: navWin
});
tabWin.add(nav);
//Launch Tab Group
tabGroup.open();
在此选项卡中打开Windows时,请使用NavigationGroup.open(Window),而不是使用Tab.open(Window)方法。让NavigationGroup管理Window Stack而不是Tab:
//Open a new Window inside the Navigation Group
var win1 = Ti.UI.createWindow();
nav.open(win1);
//Close this Window you opened
nav.close(win1);
通过执行此操作,当用户双击选中包含NavigationGroup对象的相关选项卡时,可以防止窗口堆栈重置。
答案 1 :(得分:0)
之前我遇到过类似的问题。
结束我编写自己的标签栏来进行标签切换。因此,无论何时单击选项卡按钮,我都可以获取选项卡事件并进行检查。
希望它有所帮助。