0

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

4

2 回答 2

0

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

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

示例:假设您有此应用程序视图序列:

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

因此,您可以将 FIRST 和 THIRD 表示为标准视图控制器(全屏),而 SECOND 将是拆分视图。您的应用程序将通过创建主导航控制器、在其上添加 FIRST 作为顶部控制器并使用主导航控制器作为窗口的根视图来初始化。

如果您不想要推荐的推送/弹出方法,则可以使用导航控制器推送、弹出方法在这些视图之间切换或直接更改导航控制器“viewControllers”数组。

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

于 2012-06-27T06:03:27.703 回答
0

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

Apple 的预期方式是使用 SplitViewController 作为顶级控制器。它的左侧可以包括带有导航控制器的向下钻取机制,因此您可以向下钻取层次结构,右侧将显示您在左侧选择的项目的详细信息。

如果您需要一个包含某种拆分机制的视图,您可能必须自己编写代码。甚至更好:找到可以在 UI 中使用的其他机制。

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

于 2012-06-27T06:07:11.797 回答