使用View Controller管理另外两个View Controller

时间:2012-02-22 16:15:24

标签: ios uikit mapkit route-me

我的应用程序offlineMapVConlineMapVC支持在线地图(使用MapKit和Google地图)和离线地图(使用Route-Me)。

我创建了自己的mapVC来管理这些mapVC的切换,并且能够将视图控制器用作一个单独的视图控制器。好吧,我已经通过制作新offlineMapVC女巫的onlineMapVCmapVC个实例变量来实现这一目标。我现在在我的应用程序中使用它。

首先,所有事情似乎都有效。但是,由于我在层次结构中使用View Controllers,因此在长时间使用此方法时遇到了一些问题。 I read this is the wrong way to go. 管理两个视图控制器之间切换的正确方法是什么?我的问题似乎相当简单,但我找不到合适的解决方案。

1 个答案:

答案 0 :(得分:2)

我把视图控制器放在视图控制器中,我自己也看到了比我更好的程序员做同样的事情。 (参见Rob Napier“iOS 5编程 - 推动极限”。他经常提到它。)只要你没有多个视图控制器直接控制相同的视图和子视图,你应该没问题。

自Jonah Williams撰写该文章以来,我认为iOS 5将视图控制器层次结构与自定义内容视图控制器的使用形式化。您可以将mapVC视为自定义内容视图控制器,并将onlineMapVC和offlineMapVC实现为子视图控制器。

(Apple文档链接往往会频繁更改,因此Google“自定义内容视图控制器”用于文档。)

如果您可以通过“在两个视图控制器之间切换”来提供更多上下文,这将有助于回答您的问题。通常,我有多个视图控制器同时处于活动状态。我不在它们之间切换。 (我在同一个应用程序中使用导航和标签栏控制器,但我认为你知道这些是如何工作的,而你正在问一个不同的问题。目前还不清楚你的案例中的detials是什么。)