我正在构建一个iPhone应用程序,向用户显示最近的特色餐厅。我正在使用基于导航的应用程序来进行开发。
我想让用户按下第一个屏幕上的按钮,让他/她进入屏幕2.
在屏幕2中,用户将看到靠近用户的所有餐厅的表格。
一旦用户从该表中选择一家餐馆,用户就会进入第三个屏幕
在这里,用户将看到一个地图,用户将看到他/她所在的位置以及餐馆所在的位置。
我将使用CoreLocation框架来初始计算用户的位置,然后使用它来搜索数据库附近的位置。我感到困惑的是,我应该在RootViewController中使用什么方法?我会将按钮放在viewDidLoad()方法中,然后触发此方法:
-(void)locationManager: (CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
这有意义吗?
答案 0 :(得分:0)
我创建了一个以实例CurrentLocationProvider
命名的单例类,其中所有逻辑都与更新位置相关联,并在AppDelegate中调用它的beginUpdateLocation
方法。为用户提供一个在触发时明确更新位置的按钮也很棒。
答案 1 :(得分:0)
有几种不同的方法可以做到这一点。
使用带有三个选项卡的UITabBarController,每个选项卡对应一个视图。如果您想自动转换到下一个屏幕,请使用[myTabBarController setSelectedIndex:]
或[myTabBarController setSelectedViewController:]
。
在翻转视图“实用程序应用程序”之后对其进行模式化。您可以使用Utility Application模板创建项目以获取示例代码。主要区别在于,您不是从背面翻转到正面,而是翻转到第三个视图控制器。
使用UINavigationController和pushViewController:animated:
第二和第三个视图控制器。
实际的CLLocationManagerDelegate内容可能应用于app委托。让app委托管理应用程序的“全局”数据。