2013-06-24 5 views
2

팝업 메시지를 작성하고 버튼을 통해이 팝업을 표시합니다. 이제 SplitViewController를 닫고 팝업 콜백에서 팝업을 표시하려고합니다. 하지만 내 경우에는 실패하기 때문에 어떻게해야할까요?어떻게 팝업 콜백에서 ViewController를 닫을 수 있습니까?

function showPopUp 
{ 
     var popup = vMobileController.solutionController().createPopUp(); 
    popup.setMessage("Testmessage?"); 
    popup.setTitle("test"); 
    popup.addOption("yes",popupYES); 
    popup.addOption("no",popupNO); 
    popup.show(); 
} 


function popupNO() 
{ 
     var vSolutionController = vMobileController.solutionController(); 
var vDatamanager = vMobileController.dataManager(); 
var vLogger = vMobileController.logger(); 

var currViewC = vSolutionController.rootViewController().firstSubViewControllerByName("overview_split"); 
currViewC.dismissModal(); 

} 


function popupYES() 
{ 

} 
+0

이보기는 모달로 표시됩니까? – LordT

답변

1

모달 표시 컨트롤러는 절대로 루트보기 컨트롤러의 하위 컨트롤러가 아닙니다. 모달로 표시된 컨트롤러에 액세스하려면 솔루션 컨트롤러 자체의 액세스 방법을 사용합니다.

var vSolutionController = mobileController.solutionController(); 
var vControllertoDismiss = vSolutionController.findFirstViewController("overview_split"); 
if (vControllertoDismiss) { 
    vControllertoDismiss.dismissModal(); 
} else { 
    logger.debug("Coun't find controller overview_split"); 
} 

컨트롤러를 찾지 못하면 컨트롤러 이름의 철자가 틀릴 수 있습니다. ACK가 화면 이름을 자동 완성하게하려면 Screens.overview_split을 사용하십시오.

var vControllertoDismiss = vSolutionController.findFirstViewController(Screens.overview_split); 
관련 문제