iOS:UISplitViewController无法推送到UINavigationController

我有一个使用导航控制器的XCode iPad项目。 我试图得到一个button来推UISplitViewController到导航堆栈,但得到这个错误:

拆分视图控制器无法推送到导航控制器

原来UISplitViewController不能和UINavigationController一起玩。 但是,当点击这个button时,我仍然需要显示分割视图控制器。 我该怎么做呢? 而且,同样重要的是,如何制作后退button以便用户可以返回到导航控制器?

要显示一个SplitViewController,你需要使用setRootViewController。 这是因为SplitViewController需要成为根视图控制器。

从Apple的文档:

分割视图控制器必须始终是您创build的任何界面的根。 换句话说,您必须始终将UISplitViewController对象的视图安装为应用程序窗口的根视图。 然后,您的拆分视图界面的窗格可能包含导航控制器,选项卡栏控制器或您需要实现您的界面的任何其他types的视图控制器。

为了找回你需要使用setRootViewController返回到前面的页面。 我遇到了这个问题,当我将我的iPhone应用程序转换为通用,并最终使用iPhone的导航控制器和iPad版本的setRootViewController。 这是一个无聊的一点,因为你不能很好地animation, 没有一点欺骗 。