2014-02-05 83 views
0

我有一種情況,我在mapview上有一些自定義註釋。當選擇這些註解我經由ios mapview。關閉標註,但保留註釋選擇

didSelectAnnotationView 

方法的圖像改變爲選擇狀態用爲[視圖setImage]一個電話,我還示出了標註氣泡。該標註具有附件視圖,該附件視圖在輕擊時添加新的子視圖並在其中包含更多信息。所有這些工作正常,除了當我點擊標註配件視圖時,我希望標註消失,但選定的圖像狀態保持不變。目前,我知道如何關閉該標註的唯一方法是通過

didDeselectAnnotationView 

但是這也是在那裏我會設置圖像狀態是默認未選中的圖像。

有誰知道是否可以解除標註但只保留我的註釋選定狀態?

我已經得到了這個工作,通過設置布爾當detailView已被添加到決定是否刪除「活動」圖像。然而,當我選擇一個新的註釋時,它變得棘手,因爲我最終顯示了多個註釋,顯示了選定的狀態圖像。我試着循環遍歷所有註釋並將它們的圖像設置爲「關閉」狀態,但這似乎不起作用,並且我嘗試設置對當前所選註釋的引用並在其上更改圖像,但它再次沒有沒有工作。

實施例流程:

  • 用戶選擇銷
  • didSelectAnnotationView稱爲
  • 引腳圖像改變爲「活動」和標註示
  • 用戶敲擊在標註附屬視圖。
  • BOOLEAN popOverShowing設置爲YES
  • didDeselectAnnotationView被調用。作爲popOverShowing是YES的圖像不變化爲關斷狀態,但標註消失
  • 用戶敲擊新註釋
  • 酥料餅的消失和popOverShowing設置爲NO
  • 新註釋被設定爲「有效」圖象
  • 所有其他註釋應該得到恢復到關閉影像(這是什麼似乎並沒有發生)

回答

0

保持previousPin的基準設置它在didSelectAnnotationView除非是零。 然後將新選定的引腳設置爲previousPin。希望能幫助到你。

+0

我已經試過(我上面提到過我正在存儲一個參考)。問題是我在用AnnotationViews註釋的另一點覆蓋了這個引用,這就是 – TommyBs

+0

這個混淆的地方。對不起,那另一個想法是,calloutView也是annotationView的一個子視圖。找到它然後將alpha設置爲0. – csk

+0

我嘗試將canShowCallout設置爲NO,但它不起作用。 alpha是個好主意,可能更乾淨然後我現在正在做什麼(現在基於我上面的評論工作) – TommyBs