2011-05-02 50 views
0

我想覆蓋代理提供的viewForAnnotation方法。覆蓋iOS SDK中的viewForAnnotation方法

我想再傳一個參數type,這樣我就可以根據註釋的種類改變引腳的顏色。

例如:我希望它是viewForAnnotation:type:

任何幫助?

+0

我不確定,但我認爲你需要創建一個自定義的類,這是MKMapView的子類 – visakh7 2011-05-02 10:16:31

回答

1

請勿嘗試「覆蓋」/替換viewForAnnotation委託方法。

取而代之,您需要添加您的類所需的任何屬性,以實現MKAnnotation協議(實例化傳遞給addAnnotation方法的協議)。

然後在標準viewForAnnotation方法中,您可以訪問傳遞的參數annotation中的自定義屬性。您應該首先檢查註釋的類是否是您的自定義類,然後在嘗試引用自定義屬性之前進行轉換。

如果您爲註釋使用預定義的MKPointAnnotation類,則必須切換到您自己的自定義類。

+0

這正是我最終做的!我創建了MKPointAnnotation的子類,並在其中添加了我想要的任何新值.. :) – 2011-05-03 06:27:27