2010-09-26 34 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方法。向用戶提供一個按鈕,可在啓動時明確更新位置。

相關問題