我有一个 offlineMapVC 和一个 onlineMapVC 让我的应用程序支持在线地图(使用 MapKit 和 Google 地图)和离线地图(使用 路由我).

我自己做了 mapVC 管理这些mapVC的切换,并能够将视图控制器用作一个单独的视图控制器。好吧,我已经做到了这一点 offlineMapVConlineMapVC 新的实例变量 mapVC 我现在在我的应用程序中使用它。

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

有帮助吗?

解决方案

我自己将视图控制器放入视图控制器中,并且我见过比我更好的程序员做同样的事情。(参见 Rob Napier“iOS 5 编程 - 突破极限”。他经常提到这一点。)只要您没有多个视图控制器直接控制相同的视图和子视图,您就应该可以接受。

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

(Apple 文档链接往往会经常更改,因此 Google“自定义内容视图控制器”来获取文档。)

如果您可以提供更多上下文来说明“在两个视图控制器之间切换”的含义,这将有助于回答您的问题。一般来说,我有多个视图控制器同时处于活动状态。我不会在它们之间切换。(我在同一个应用程序中使用导航和标签栏控制器,但我假设您知道它们是如何工作的,并且您问的是不同的问题。只是不清楚您的情况的详细信息是什么。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top