2012-07-12 83 views
0

我在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')" 

但無論做任何事情。謝謝你的幫助。

回答

3

您需要在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