对于使用 Appcelerator Titanium SDK 3.1.2 开发的 iPad 应用程序,我有一个包含 5 个 Ti.UI.Tab 的 Ti.UI.Tab 组。每个选项卡都包含一个 Root Ti.UI.Window,某些选项卡会在相关时打开其他窗口。
当您双击选项卡组中的任何选项卡时,双击该选项卡会将其内容重置为根窗口,并自动关闭其中打开的窗口。
我想阻止这种情况的发生,但是 Tab 组或 Tab 本身都没有属性可以让我阻止双击发生。
最佳答案
使用 View 创建自己的 TabGroup 控件的另一种方法是在选项卡内添加一个 NavigationGroup 控件,以防止双击选项卡时重置 Windows。
在选项卡组的选项卡控件中,创建一个空的窗口控件并将其链接到选项卡,就像平常一样。然后,创建一个 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 管理窗口堆栈而不是选项卡:
//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 对象的相关选项卡时,可以防止窗口堆栈重置。
关于ios - 防止在 Appcelerator 中触发 TabGroup 双击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20740332/