激活自定义JS功能中的Sencha Touch选项卡
问题描述:
我在iOS上有一个Cordova项目,我想切换到事件“X”后面的特定选项卡。激活自定义JS功能中的Sencha Touch选项卡
假设事件“X”刚刚发生,我的目标C提出了以下调用运行JS功能openNotificationTab()
像这样:
NSString *goToNotification = [NSString stringWithFormat:@"openNotificationTab()"];
[viewController.webView stringByEvaluatingJavaScriptFromString:goToNotification];
的openNotificationTab()
功能属于filename.js和我验证它是范围之内并可通过alert()
进行测试。
现在对于我的js函数的定义如下:
function openNotificationTab(){
Ext.Viewport.setActiveItem({
xtype: 'notificationtabview'
});
}
的问题是,这个功能打开正确的面板,但它覆盖在一切之上。因此整个标签菜单不再可见,因此无法访问。
我也试过
"Ext.Viewport.setActiveItem(1)" and "Ext.Viewport.setActiveItem('notificationtabview')"
但无论做任何事情。谢谢你的帮助。
答
您需要在TabPanel上调用setActiveItem,并使用要显示的选项卡的索引或要显示的项目。
您可以检查班级的视口的搭配:
Ext.Viewport.$className
你可能会在这里学到的视口是不是你的标签面板。
var tabPanel = Ext.Viewport.down("tabpanel");
tabPanel.setActiveItem(tabPanel.down("notificationtabview"))
或
var tabPanel = Ext.Viewport.down("tabpanel");
tabPanel.setActiveItem(1)
两个作品。
工作就像一个魅力。谢谢克劳德。 – Austin 2012-07-12 16:55:17