Ios Monotouch-Can';t单击按钮时关闭当前视图

Ios Monotouch-Can';t单击按钮时关闭当前视图,ios,uinavigationcontroller,xamarin.ios,Ios,Uinavigationcontroller,Xamarin.ios,我有一个视图,允许用户编辑EntryElement。我通过“完成”按钮的委托注册单击事件,但是,我无法让它关闭当前视图以转到上一个视图。以下是我现在正在尝试的: AppDelegate.navigation.PresentedViewController.DismissViewController(true, null); 我也试过: AppDelegate.navigation.PresentedViewController.RemoveFromParentViewController();

我有一个视图,允许用户编辑
EntryElement
。我通过“完成”按钮的委托注册单击事件,但是,我无法让它关闭当前视图以转到上一个视图。以下是我现在正在尝试的:

AppDelegate.navigation.PresentedViewController.DismissViewController(true, null);
我也试过:

AppDelegate.navigation.PresentedViewController.RemoveFromParentViewController();
navigation
只是一个
UINavigationController

编辑:

我正在使用
Monotouch.Dialog
构建所有视图。此视图是通过方法创建的。我希望在他们单击“完成”按钮后返回到上一个视图。以下是该方法的内容:

public static void EditClientTypeView (string typeName, string typeId)
        {
            DialogViewController editClientTypeVC;
            UIBarButtonItem doneButton = new UIBarButtonItem (UIBarButtonSystemItem.Done);

            EntryElement element = new EntryElement("Type Name", "Name of client type", typeName, false);

            var root = new RootElement ("Edit Type") {
                new Section () {
                    element
                }
            };

            editClientTypeVC = new DialogViewController (root, true);
            editClientTypeVC.NavigationItem.RightBarButtonItem = doneButton;

            doneButton.Clicked += (sender, e) => {
                // Need to save the edited client type to the database
                Console.WriteLine("Done button clicked signifying the user is finished editing");
                AppDelegate.navigation.PresentedViewController.RemoveFromParentViewController();
                //AppDelegate.navigation.DismissViewController(true, null);
            };

            AppDelegate.navigation.PushViewController(editClientTypeVC, true);
        }

感谢您的帮助

因为要将视图控制器推到导航堆栈上,所以可以通过将其从堆栈中弹出来解除它。有三种流行方法

  • POPTROOTVIEWCONTROLLER-返回到导航控制器的根视图
  • PopToViewController-弹出回特定的视图控制器
  • PopViewController-弹出回“上一个”视图控制器

因为要将视图控制器推到导航堆栈上,所以可以通过将其从堆栈中弹出将其关闭。有三种流行方法

  • POPTROOTVIEWCONTROLLER-返回到导航控制器的根视图
  • PopToViewController-弹出回特定的视图控制器
  • PopViewController-弹出回“上一个”视图控制器

如何显示要取消的视图?使用创建视图和处理单击的方法编辑我的问题。如何显示要取消的视图?使用创建视图和处理单击的方法编辑我的问题。这非常有效!非常感谢。我使用
PopViewControllerAnimated(true)
弹出到我以前的控制器。这非常有效!非常感谢。我使用
PopViewControllerAnimated(true)
弹出到我以前的控制器。