iPad导航模式

iPad导航模式,ipad,ios,Ipad,Ios,我一直在开发一款iPad应用程序,它有大约15个视图控制器。一些视图控制器是全屏的,其他视图控制器嵌入在其他视图控制器中(想想拆分视图控制器) 在iPhone上,导航非常直接。即使你有很多视图控制器,你也在使用苹果的根视图控制器(选项卡或导航)。导航由根视图控制器处理,您可以非常自由地关注视图 在ipad上,“拆分视图”和“选项卡视图”控制器并不总是有用的,对于我正在开发的应用程序来说,它们也不起作用。我创建了单独的导航控制器对象,以根据用户执行操作时发布的通知来处理隐藏/显示视图控制器 其他人

我一直在开发一款iPad应用程序,它有大约15个视图控制器。一些视图控制器是全屏的,其他视图控制器嵌入在其他视图控制器中(想想拆分视图控制器)

在iPhone上,导航非常直接。即使你有很多视图控制器,你也在使用苹果的根视图控制器(选项卡或导航)。导航由根视图控制器处理,您可以非常自由地关注视图

在ipad上,“拆分视图”和“选项卡视图”控制器并不总是有用的,对于我正在开发的应用程序来说,它们也不起作用。我创建了单独的导航控制器对象,以根据用户执行操作时发布的通知来处理隐藏/显示视图控制器


其他人有解决iPad导航问题的经验吗?

您是否查阅了Matt Gemmell的MGSplitViewController?


我并不是说它能解决你所有的导航问题,但这是一个有趣的想法,它可能会帮助你找到更多/更好的方式来处理视图控制器。

另外,对于没有填满整个屏幕的视图,要小心使用多个视图控制器。苹果公司的文档明确指出,不应将视图控制器用于部分屏幕视图:

注意:您不应该使用视图控制器来管理仅填充其窗口一部分(即应用程序内容矩形定义的区域的一部分)的视图。如果希望有一个由多个较小视图组成的界面,请将它们全部嵌入到一个根视图中,并使用视图控制器管理该视图


虽然当您有多个视图控制器管理不同的子视图时,某些事情可能会起作用,但其他事情则不会起作用。例如,旋转设备时,仅会通知一个视图控制器。同样,并不是所有的视图控制器都会收到您可能期望的“ViewWillDisplay”、“ViewDiUnload”等消息。

苹果在iOS 5中添加了容器视图控制器的概念。这使得添加和删除子对象变得容易,允许自动调用它们的旋转/显示/消失方法。很酷的东西

谢谢你的信息。我之前读过这方面的文章,但没有深入研究。我现在就做,谢谢!这些文档是在iPad之前编写的。在iPad上让所有屏幕都独立于视图控制器是不现实的。在任何一个非平凡的应用程序中,一个视图控制器处理所有视图的工作量都太大了。虽然您确实必须手动处理某些方法,如ViewWillExample:,但仍然可以正确调用与内存管理相关的方法。