MonoTouch.Dialog:不在NavigationController中时弹回到父级

时间:2012-04-19 18:24:39

标签: c# ios xamarin.ios monotouch.dialog

我有一个Dialog,它是一个全屏模态弹出窗口。

它有一组放射性元素。当选择新屏幕时,会出现状态。

当选择状态时,如果没有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")
            }
    };

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

您需要让父控制器使用DismissModalViewController()

来关闭模态

答案 2 :(得分:0)

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

NagivationController.PopViewControllerAnimated(true);

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

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

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