2011-11-21 56 views
2

一點,以獲得所謂的....的iOS 5.0 didSelectAnnotationView挫折試圖讓didSelectAnnotationView的

我的情況: 使用的TabBar控制器,我從索引視圖的應用程序切換到地圖視圖(INDEX選項卡,地圖當選擇了索引中的其中一個項目時。沒有問題得到這個4.3以下的工作,但一個有趣的問題5.0以下。

如果我以前已經選擇了MAP選項卡(就像在MAP視圖中已經加載過的那樣),彈出註釋「bubble」以顯示選定的點...沒問題。但是,如果在選擇索引列表中的一個項目之前沒有選擇MAP選項卡,它將加載MAP視圖,但不會調用didSelectAnnotationView方法。

這隻會發生一次...因爲一旦MAP視圖加載完畢,所有事情都會按照預期進行響應。

再次,在4.3下,每次調用didSelectAnnotationView時,無論MAP視圖是否先前已加載。

有什麼想法......?

至於我的編碼,我加載所有註釋viewDidLoad方法下和viewWillAppear中是這樣:

//Run through all annotations 
for (id<MKAnnotation> annotation in mapView.annotations) { 

    //Check if that annotation is the selected one 
    if (annotation.coordinate.longitude == mylongitude) { 
     [[mapView viewForAnnotation:annotation] setHidden:FALSE]; 
     [mapView selectAnnotation:annotation animated:YES]; 
    } 
} 
+0

您是否有解決方案?我面臨同樣的問題... – Minakshi

回答

1

(我的代表處是不夠高,發表評論還)

  1. 首先,驗證您的問題場景中是否找到了註釋 - 在IF語句中添加一個斷點以確認。

其他說明:

  • 如果你想選擇的註解是關閉屏幕,選擇方法不會有(每個文件)沒有任何影響。註釋當然是可用的,但在這種情況下它可能不會有與之相關的視圖。

  • 確保當您調用select時,尚未選擇註釋...也許嘗試在進入循環之前取消選擇所有註釋。

  • 不確定爲什麼你要在註解視圖上調用'setHidden',但我會刪除任何試圖隱藏或顯示註釋視圖的位。大多數情況下,這取決於MKMapView來處理註釋視圖本身的細節(在顯示它們,定位它們等方面)

相關問題