在构建 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 应用程序时需要一些指导的主要内容,如果未能解决你的问题,请参考以下文章

在已发布的 iPhone 应用中构建优化级别的设置

“无法为模拟器构建应用程序。” “在 iPhone 11 上启动应用程序时出错。”

设备为 iPhone 时如何显示后退按钮

以编程方式在iPhone 6中使用指导访问

需要一些指导将 iOS 应用程序添加到 phonegap

新使用 XCode Instruments 解释 iPhone 开发的内存警告,需要指导