如何随意显示地图?
Posted
技术标签:
【中文标题】如何随意显示地图?【英文标题】:How Can I Display the Map At Will? 【发布时间】:2011-11-02 05:07:05 【问题描述】:我借用了 The Big Nerd Ranch ios 书中的 Whereami 代码,并在我正在编写的应用程序中使用了它。我的应用程序确定用户的位置并将其显示在应用程序委托的地图中,就像书中的 Whereami 应用程序一样。 UIWindow
变为可见并正确显示地图。从现在开始,代码就是我自己的了。
我的应用程序分配了一个UINavigationController
,设置了根视图控制器,然后继续允许用户查看其他视图控制器并在导航到它们后执行其他方法。
在某些时候,视图控制器包含一个标有“地图”的按钮,当按下该按钮时,应显示显示用户当前位置的地图。
如何让应用程序显示 AppDelegate.m 中的 UIWindow
?我假设应用委托继续确定用户的位置,并且我希望用户能够随意显示地图。
当按下“MAP”按钮时,我当前的代码分配了一个MapViewController
,但我不知道如何让 AppDelegate.m 中的UIWindow
显示。
我想我应该能够通过在MapViewController
中拥有指向UIWindow
的指针来做到这一点。这是正确的方法吗?我还需要什么吗?我正在使用 Xcode 4.0.2、Snow Leopard 并在 iOS 4 设备上进行测试。我是这方面的新手,我不想因为升级到 Lion、更高版本的 Xcode 或 iOS 5 而感到困惑。
【问题讨论】:
窗口一直在显示。应该只有一个窗口。导航控制器是窗口的根视图控制器?它的根视图控制器是什么?层次结构中的地图视图控制器在哪里? 【参考方案1】:考虑使用presentModalViewController:animated:
(它是UIViewController
及其子类的所有实例的方法)。您可以使用多种过渡样式,例如翻转或淡入淡出。
在 iOS 上,您非常很少使用 UIWindow
对象。当您的应用程序启动时,您几乎设置了一个并且您不理会它。一切都由UIView
实例或管理它们的UIViewController
实例完成。
【讨论】:
以上是关于如何随意显示地图?的主要内容,如果未能解决你的问题,请参考以下文章