MonoTouch.Dialog:不在导航控制器中时弹出回父级

本文关键字:控制器 Dialog 导航 MonoTouch | 更新日期: 2023-09-27 18:31:36

>我有一个对话框,它是一个全屏的模态弹出窗口。

它有一组放射性元素。选择后,将显示状态的新屏幕。

选择状态后,当没有UINavigation控制器时,如何让屏幕"弹出"回主对话框?

var rWhoToSee = new RootElement ("What State are you in??", gWhoToSee) {
    new Section (){
           new RadioElement ("ACT"),
           new RadioElement ("NT"), 
           new RadioElement ("NSW"),
           new RadioElement ("TAS")
            }
    };

MonoTouch.Dialog:不在导航控制器中时弹出回父级

任何子对话框都具有PresentingViewController属性。这可用于关闭,或用于与导致对话框出现的控件进行通信。

    var vc = dlg.PresentingViewController as MyViewController;
    dlg.DismissViewController (true, () => {});

您需要要求父控制器使用 DismissModalViewController() 消除模态

从导航控制器调用您选择的"pop"方法,如下所示:

NagivationController.PopViewControllerAnimated(true);

您也可以将所有元素分组:

new RootElement ("Clients", new RadioGroup("clientGroup", 0)) {
    new Section () {
        new RadioElement ("Happy client", "clientGroup"),
        new RadioElement ("Angry client", "clientGroup")
    }
};

使用分组目前将允许它自动弹出回上一个屏幕,其中根元素将在标题中显示"客户端",然后是组中的第一个选项。因此,在这种情况下,它将显示"快乐的客户"。