在构建iPhone应用程序时需要一些方向

时间:2010-09-26 17:11:43

标签: iphone objective-c

我正在构建一个iPhone应用程序,向用户显示最近的特色餐厅。我正在使用基于导航的应用程序来进行开发。

  1. 我想让用户按下第一个屏幕上的按钮,让他/她进入屏幕2.

  2. 在屏幕2中,用户将看到靠近用户的所有餐厅的表格。

  3. 一旦用户从该表中选择一家餐馆,用户就会进入第三个屏幕

  4. 在这里,用户将看到一个地图,用户将看到他/她所在的位置以及餐馆所在的位置。

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

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

    这有意义吗?

2 个答案:

答案 0 :(得分:0)

我创建了一个以实例CurrentLocationProvider命名的单例类,其中所有逻辑都与更新位置相关联,并在AppDelegate中调用它的beginUpdateLocation方法。为用户提供一个在触发时明确更新位置的按钮也很棒。

答案 1 :(得分:0)

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

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

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

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

  4. 实际的CLLocationManagerDelegate内容可能应用于app委托。让app委托管理应用程序的“全局”数据。