2

私はポップアップメッセージを作成しており、ボタンからのアクションの上にこのポップアップを表示しています。今、ポップアップが表示されていることを確認して、ポップアップコールバックから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()
{

}
4

1 に答える 1

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_splitACK がスクリーン名をオートコンプリートできるようにするために使用します。

var vControllertoDismiss = vSolutionController.findFirstViewController(Screens.overview_split);
于 2013-06-24T09:08:30.903 に答える