2013-06-24 41 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"); 
} 

如果這還沒有找到你的控制器,你可能拼錯控制器名稱?使用Screens.overview_split讓ACK自動完成屏幕名稱。

var vControllertoDismiss = vSolutionController.findFirstViewController(Screens.overview_split);