0

我的应用程序有一个offlineMapVC和一个onlineMapVC来支持在线地图(使用 MapKit 和谷歌地图)和离线地图(使用Route-Me)。

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

首先,所有事情似乎都有效,但是。然而,在较长时间使用这种方法时,由于我在层次结构中使用视图控制器,我遇到了一些问题。我读到这是错误的方法。 管理两个视图控制器之间切换的正确方法是什么?我的问题似乎很简单,但我找不到一个像样的解决方案。

4

1 回答 1

2

我把视图控制器放在视图控制器中,我自己,我见过比我更好的程序员做同样的事情。(参见 Rob Napier “iOS 5 Programming - Pushing the Limits”。他经常提到它。)只要您没有多个视图控制器直接控制相同的视图和子视图,您应该可以接受。

自从 Jonah Williams 写了那篇文章后,我认为 iOS 5 将视图控制器层次结构与自定义内容视图控制器的使用形式化了。您可能会认为您的 mapVC 是自定义内容视图控制器,并将 onlineMapVC 和 offlineMapVC 实现为子视图控制器。

(Apple 文档链接往往会经常更改,因此请在 Google 上查看文档的“自定义内容视图控制器”。)

如果您可以通过“在两个视图控制器之间切换”为您的意思提供更多上下文,这将有助于回答您的问题。通常,我同时有多个视图控制器处于活动状态。我不会在它们之间切换。(我在同一个应用程序中使用导航和标签栏控制器,但我假设您知道它们是如何工作的并且您提出了不同的问题。只是不清楚您的案例中的细节是什么。)

于 2012-02-22T17:03:26.563 回答