Ios IPad拆分视图在另一个视图中实现

Ios IPad拆分视图在另一个视图中实现,ios,uisplitviewcontroller,ipad,uisplitview,Ios,Uisplitviewcontroller,Ipad,Uisplitview,我正在创建一个iPad应用程序,它有几个视图来加载数据,但对于一个视图,我需要添加拆分视图。我不需要在其他视图中拆分视图。它们只是细节页面。我在网上搜索,找到了很多基于iPad split view的教程。但问题是,他们都创建了一个项目作为分割视图项目,或者创建了一个基于窗口的应用程序,并将滑动视图添加到代理中。我不需要这样做,我只需要为一个视图实现这个分割视图。有没有办法克服这个问题?您可以在导航控制器中添加拆分视图。 即使分割视图是一个容器视图控制器,苹果在文档中建议不要将所有容器嵌入其他容

我正在创建一个iPad应用程序,它有几个视图来加载数据,但对于一个视图,我需要添加拆分视图。我不需要在其他视图中拆分视图。它们只是细节页面。我在网上搜索,找到了很多基于iPad split view的教程。但问题是,他们都创建了一个项目作为分割视图项目,或者创建了一个基于窗口的应用程序,并将滑动视图添加到代理中。我不需要这样做,我只需要为一个视图实现这个分割视图。有没有办法克服这个问题?

您可以在导航控制器中添加拆分视图。 即使分割视图是一个容器视图控制器,苹果在文档中建议不要将所有容器嵌入其他容器中,在导航控制器中添加分割视图也能正常工作,而且我从未注意到这样做的任何副作用

基本上你应该做的是: -在应用程序委托中,创建UINavigationController并将其用作应用程序窗口的根视图 -如果不想看到,请隐藏导航控制器导航栏(显示顶部有主导航栏的拆分视图不好看…) -然后在导航栏中添加视图控制器

示例:假设您拥有以下应用程序视图序列:

第一视图(完整视图=详细页面) 第二视图(拆分视图) 第三视图(完整=详细页)

所以您可以将第一个和第三个表示为标准视图控制器(全屏),而第二个表示为分割视图。您的应用程序将通过创建主导航控制器、在其上添加第一个作为顶部控制器并使用主导航控制器作为窗口的根视图来初始化

然后使用导航控制器推送、弹出方法在这些视图之间切换,或者如果不需要推荐的推送/弹出方法,则直接更改导航控制器“ViewController”阵列


如果您需要根据顶部视图的类型向导航控制器添加特殊行为,只需将您的应用程序委托注册为导航控制器委托(或者如果您不想使应用程序委托复杂化,则注册一个专用于此的“主控制器”对象)

我不是100%确定,但在我看来,您不能仅在视图层次结构中的某个位置使用SplitView

苹果打算使用SplitViewController作为顶级控制器。它的左侧可以包括一个带有导航控制器的向下钻取机制,以便您能够向下钻取层次结构,而右侧将显示您在左侧选择的项目的详细信息

如果您需要一个包含某种拆分机制的视图,您可能需要自己编写代码。或者更好:在你的用户界面中找到一些你可以使用的其他机制


现在如何切换视图层次结构?也许您可以将现有UI集成到SplitViewController中?

我现在使用facebook风格的侧栏导航到其他视图。一个视图必须包含此拆分视图。