2010-09-26 33 views
0

我正在构建iPhone应用程序,向用户展示最接近的特色餐厅。我正在使用基于导航的应用程序来进行开发。在构建iPhone应用程序时需要一些指导

  1. 我想要让用户按下第一个画面,让他上的按钮/她去到屏幕2.

  2. 从屏幕2,在这里,用户将看到的所有的表靠近用户的餐馆。

  3. 一旦用户选择从该表中餐厅,用户被引导到第三个屏幕

  4. 在这里,用户将看到一个地图,用户将看到他/她,并且其中餐厅位于。

我将使用CoreLocation框架来初步计算用户的位置,然后使用它来搜索数据库以查找附近的位置。我感到困惑的是,我应该在RootViewController中做什么方法?我会把按钮放在viewDidLoad()方法中,然后触发这个方法:

-(void)locationManager: (CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation 
                  fromLocation:(CLLocation *)oldLocation 

这是否有意义?

回答

0

有几种不同的方法可以做到这一点。

  1. 使用带有三个选项卡的UITabBarController,每个选项卡对应一个视图。当您想要自动转换到下一个屏幕时,请使用[myTabBarController setSelectedIndex:][myTabBarController setSelectedViewController:]

  2. 在翻转视图“实用程序应用程序”之后进行模式设置。您可以使用Utility Application模板创建一个项目作为示例代码。主要区别在于,不是从背面翻转到正面,而是翻转到第三个视图控制器。

  3. 使用UINavigationController和pushViewController:animated:第二个和第三个视图控制器。

实际的CLLocationManagerDelegate的东西应该可能住它的应用程序委托。让应用程序委托管理应用程序的“全局”数据。

+0

非常感谢您的回复。我试图效仿的应用程序是www.timmyme.com,它向您显示了最接近您的“Tim Horton's”咖啡店。哪种方法最适合完成这一点? – syedfa 2010-09-26 19:05:23

+0

我会去与基于TabBarController的应用程序。地图上有一个标签,列表中有一个标签,也可能有一个用于过滤器设置,如“有WiFi”或“有驱动器直通”。 (我不知道这个链,这些可能不相关。) – 2010-09-27 01:09:49

0

我会创建一个名为CurrentLocationProvider的单例类,它的所有逻辑都与更新位置封装在一起,并在AppDelegate中调用它的beginUpdateLocation方法。向用户提供一个按钮,可在启动时明确更新位置。

相关问题