激活自定义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) 

两个作品。

+0

工作就像一个魅力。谢谢克劳德。 – Austin 2012-07-12 16:55:17