Xamarin.ios 使用UISegementedControl切换到不同的UITableViewController

Xamarin.ios 使用UISegementedControl切换到不同的UITableViewController,xamarin.ios,xamarin,uisegmentedcontrol,Xamarin.ios,Xamarin,Uisegmentedcontrol,我有一个UINavigationViewController,导航栏中有一个UISegmentedControl。我想在用户按下分段控件时实现简单的切换到不同的ViewController 我试了很多,但都不管用。。。经考虑的来源: 还有很多谷歌的研究 整个项目是基于故事板的!任何针对NIB的解决方案都是无用的 将ContainerControl添加到我的UINavigationViewController。但在这种情况下,我只能嵌入一个控制器。无法通过编程方式创建嵌入式Segue。甚至

我有一个UINavigationViewController,导航栏中有一个UISegmentedControl。我想在用户按下分段控件时实现简单的切换到不同的ViewController

我试了很多,但都不管用。。。经考虑的来源:

  • 还有很多谷歌的研究
整个项目是基于故事板的!任何针对NIB的解决方案都是无用的

将ContainerControl添加到我的UINavigationViewController。但在这种情况下,我只能嵌入一个控制器。无法通过编程方式创建嵌入式Segue。甚至在IB中设计的代码中实例化UITableViewController会导致空视图。因为我必须将c'tor从MyTableViewController(IntPtr句柄):base(句柄)更改为空构造函数

有人可以发布一个如何使用UISegmentedControl在不同的ViewController之间切换的工作示例吗?非常感谢您的帮助。

工作解决方案:

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        CreateAndEmbed (TrDetailNavType.Info);
    }

    partial void segmentNavigationValueChanged (MonoTouch.UIKit.UISegmentedControl sender, MonoTouch.UIKit.UIEvent e)
    {
        CreateAndEmbed((TrDetailNavType)sender.SelectedSegment);
    }

    private void CreateAndEmbed(TrDetailNavType tab)
    {
        if (_currentViewController != null) 
        {
            _currentViewController.View.RemoveFromSuperview ();
            _currentViewController.RemoveFromParentViewController();
        }

        string id;
        switch (tab)
        {
        case TrDetailNavType.Info:
            id = "TagesRapportDetailInfoTableViewController";
            break;
        case TrDetailNavType.Lohn:
        case TrDetailNavType.Material:
        case TrDetailNavType.Inventar:
        case TrDetailNavType.Fremdleistung:
        case TrDetailNavType.Regie:
            id = "TagesRapportDetailDummyViewController";
            break;
        }

        _currentViewController = (UIViewController)Storyboard.InstantiateViewController (id);
        _currentViewController.View.Frame = containerDetail.Bounds;
        AddChildViewController (_currentViewController);
        _currentViewController.DidMoveToParentViewController (this);
        containerDetail.AddSubview (_currentViewController.View);
    }