Xamarin.ios 在情节提要场景中关闭Popover(作为UITableViewController)

Xamarin.ios 在情节提要场景中关闭Popover(作为UITableViewController),xamarin.ios,storyboard,uitableview,popover,Xamarin.ios,Storyboard,Uitableview,Popover,我在IB(故事板)中定义了一个popover segue来打开嵌入在UINavigationViewController中的UITableViewController。我需要这个在popover中导航 此外,我还添加了两个顶部栏按钮(保存、取消)。单击其中一个后,我想取消错过/关闭popover 我尝试了不同的方法,但没有任何效果 调用DismissViewController(true,null);没有效果 调用RemoveFromParentViewController关闭我的应用程序(或

我在IB(故事板)中定义了一个popover segue来打开嵌入在UINavigationViewController中的UITableViewController。我需要这个在popover中导航
此外,我还添加了两个顶部栏按钮(保存、取消)。单击其中一个后,我想取消错过/关闭popover

我尝试了不同的方法,但没有任何效果

  • 调用DismissViewController(true,null);没有效果
  • 调用RemoveFromParentViewController关闭我的应用程序(或只是崩溃?)
我已经读过DismissPopoverController,但在我的场景中这不可用,因为在UINavigationViewController中使用嵌入式UITableViewController来处理原型表


有什么建议吗?

经过一番尝试和错误,我找到了解决方案。。。我希望其他人能从我的解决方案中获益;)

在我的基本视图中:

    public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
    {
        if (segue.Identifier == "MySegueIdentifier")
        {
            var popoverSegue = segue as UIStoryboardPopoverSegue;
            _myTableViewController = segue.DestinationViewController.ChildViewControllers[0] as MyTableViewController;
            _myTableViewController.PopoverController = popoverSegue.PopoverController;
            _myTableViewController.CloseCallback = AddNewTrAndRefreshCallback;
        }

        base.PrepareForSegue (segue, sender);
    }

在我的popover中(嵌入UINavigationViewController中的UITableViewController)


如果有什么不确定的地方,请不要犹豫。

经过一番尝试和错误,我得到了解决方案。。。我希望其他人能从我的解决方案中获益;)

在我的基本视图中:

    public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
    {
        if (segue.Identifier == "MySegueIdentifier")
        {
            var popoverSegue = segue as UIStoryboardPopoverSegue;
            _myTableViewController = segue.DestinationViewController.ChildViewControllers[0] as MyTableViewController;
            _myTableViewController.PopoverController = popoverSegue.PopoverController;
            _myTableViewController.CloseCallback = AddNewTrAndRefreshCallback;
        }

        base.PrepareForSegue (segue, sender);
    }

在我的popover中(嵌入UINavigationViewController中的UITableViewController)

如果有什么不确定的,尽管问

    partial void buttonCancelClicked (MonoTouch.UIKit.UIBarButtonItem sender)
    {
        Cancled = true;
        CloseCallback();
        PopoverController.Dismiss(true);
    }

    partial void buttonDoneClicked (MonoTouch.UIKit.UIBarButtonItem sender)
    {
        Cancled = false;
        SelectedRecord = _tableViewSource.SelectedRecord;
        CloseCallback();
        PopoverController.Dismiss(true);
    }