如何使用Xamarin.iOS在iPad上复制iTunes U 2.0中显示的选项卡式视图中的拆分视图?

如何使用Xamarin.iOS在iPad上复制iTunes U 2.0中显示的选项卡式视图中的拆分视图?,ipad,ios7,xamarin.ios,Ipad,Ios7,Xamarin.ios,新的iTunes 2.0应用程序允许您在iPad的选项卡式视图中切换到一个看似分割的视图: 我想在我自己使用Xamarin.iOS编写的应用程序中创建类似的东西。基本上,我希望能够首先呈现一个登录屏幕(全屏),然后在登录后在顶部推一个选项卡式界面。在这些选项卡中,用户可以输入例如搜索词,然后我想在选项卡中将结果显示为拆分视图(如iTunes应用程序中) 如何做到这一点 就我所见,分割视图仅限于用作根视图控制器,所以一定有什么诀窍 除非苹果使用的是非官方API,或者他们重新实现了分割视图或类似的

新的iTunes 2.0应用程序允许您在iPad的选项卡式视图中切换到一个看似分割的视图:

我想在我自己使用Xamarin.iOS编写的应用程序中创建类似的东西。基本上,我希望能够首先呈现一个登录屏幕(全屏),然后在登录后在顶部推一个选项卡式界面。在这些选项卡中,用户可以输入例如搜索词,然后我想在选项卡中将结果显示为拆分视图(如iTunes应用程序中)

如何做到这一点

就我所见,分割视图仅限于用作根视图控制器,所以一定有什么诀窍


除非苹果使用的是非官方API,或者他们重新实现了分割视图或类似的东西?

这很容易做到,并且不需要任何私有API

UISplitViewController split;
UIViewController master, detail, second;

master = new UIViewController();
detail = new UIViewController();
second = new UIViewController();

split = new UISplitViewController ();

split.ViewControllers = new UIViewController[] { master, detail };

split.Title = "Split";

tabs = new UITabBarController ();
tabs.ViewControllers = new UIViewController[] { split, second };

window.RootViewController = tabs;

在我的应用程序中,我有一个登录屏幕,然后转换成一个选项卡式视图,可以包含其他内容。以前,当我尝试推送UISplitViewController()时,我得到了一个运行时异常,这是现在专门允许用于拆分视图控制器的。这已经改变了,或者为什么现在这么容易做到,而以前是不允许的?将SplitView推到导航堆栈上可能是不允许的-这不是您在问题中提出的问题。我会尝试将登录控制器设置为我的根控制器,然后在登录后将根控制器切换为包含splitview的tabcontroller。啊,但这就是它在iTunes U中的工作方式-也许我没有正确表达这个问题-我会改写它。在我的应用程序中,您登录,然后会看到一个选项卡式界面。在选项卡界面中,我希望用户能够输入搜索词,然后显示带有搜索结果的splitview界面。但是我不能以模态或非模态的方式呈现splitview控制器如果我必须切换根控制器,它看起来相当脆弱?@jksoegaard我一直在努力解决这个问题。你能找到如何用一个导航条在tabbarcontroller中显示splitView吗?遗憾的是,没有。如果你能找到解决方案,我很想听听最后,我使用第三方splitviewcontroller实现解决了这个问题。