我正在创建一条弹出消息,并通过按钮向该动作显示此弹出窗口。 现在我试图从弹出回调中解除SplitViewController,显示弹出窗口。 但在我的情况下它失败了,那么如何正确地做到这一点呢?
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 :(得分: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);