2012-07-12 2 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()으로 테스트하여 액세스 할 수 있습니다.

function openNotificationTab(){ 
    Ext.Viewport.setActiveItem({ 
    xtype: 'notificationtabview' 
    }); 
} 

문제는이 기능이 올바른 패널을 여는하지만, 다른 모든 것들의 상단에 오버레이 :

지금 내 JS 기능에 대한 정의는 다음과 같다. 따라서 전체 탭 메뉴가 더 이상 보이지 않으므로 액세스 할 수 없습니다.

는 또한
"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