在构建 iPhone 应用程序时需要一些指导
Posted
技术标签:
【中文标题】在构建 iPhone 应用程序时需要一些指导【英文标题】:Need some direction in building an iPhone app 【发布时间】:2010-09-26 17:11:42 【问题描述】:我正在构建一个 iPhone 应用程序,用于向用户展示最近的特色餐厅。我正在使用基于导航的应用程序进行开发。
我想让用户在第一个屏幕上按下一个按钮,让他/她进入屏幕 2。
在屏幕 2 中,用户将在此处看到靠近用户的所有餐厅的表格。
一旦用户从这张表中选择了一家餐厅,用户就会被带到第三个屏幕
在这里,用户将看到一张地图,用户将在其中看到他/她所在的位置以及餐厅的位置。
我将使用 CoreLocation 框架来初步计算用户的位置,然后使用它在数据库中搜索附近的位置。我感到困惑的是,我应该在 RootViewController 中使用什么方法?我是否将按钮放在 viewDidLoad() 方法中,然后触发此方法:
-(void)locationManager: (CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
这有意义吗?
【问题讨论】:
【参考方案1】:有几种不同的方法可以做到这一点。
使用带有三个选项卡的 UITabBarController,每个选项卡一个用于您的视图。如果要自动切换到下一个屏幕,请使用[myTabBarController setSelectedIndex:]
或[myTabBarController setSelectedViewController:]
。
在翻转视图“实用程序”之后对其进行图案化。您可以使用实用程序应用程序模板创建一个项目以获取示例代码。主要区别在于,您不是从背面翻转到正面,而是翻转到第三个视图控制器。
使用 UINavigationController 和 pushViewController:animated:
第二和第三个视图控制器。
实际的 CLLocationManagerDelegate 内容可能应该存在于应用程序委托中。让应用委托管理应用的“全局”数据。
【讨论】:
非常感谢您的回复。我试图模仿的应用程序是 www.timmyme.com,它向您展示了离您最近的“Tim Horton”咖啡店。哪种方法最适合实现这一目标? 我会选择基于 TabBarController 的应用程序。一个选项卡用于地图,一个选项卡用于列表,也许还有一个用于过滤器设置,如“有 WiFi”或“有得来速”。 (我不知道这个链,这些可能不相关。)【参考方案2】:我将创建一个名为 CurrentLocationProvider
的单例类,其中所有与更新位置相关的逻辑都封装在其中,并在 AppDelegate 中调用它的 beginUpdateLocation
方法。为用户提供一个在触发时显式更新位置的按钮也很棒。
【讨论】:
以上是关于在构建 iPhone 应用程序时需要一些指导的主要内容,如果未能解决你的问题,请参考以下文章