2 回答

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個贊
一種可靠的方法(如果必須使用自定義方法)是查看地圖視圖的selectedAnnotations屬性。
雖然該屬性是NSArray,但由于地圖視圖一次只允許選擇一個注釋,因此用戶剛剛點(diǎn)擊的注釋將位于索引0處,因此它將為:
id<MKAnnotation> annTapped = [mapView.selectedAnnotations objectAtIndex:0];
//Here, you can cast annTapped to a custom annotation class if needed.
//Be sure to check what kind of class it is first.
mapView.selectedAnnotations.count為了安全起見,您可能還需要先檢查不為零的值。
但是,比使用addTarget和自定義操作方法更好的方法(正如內(nèi)文·金已經(jīng)回答過的)是使用地圖視圖的calloutAccessoryControlTapped委托方法,在該方法中,可以通過view使用以下參數(shù)通過參數(shù)直接訪問注釋:
id<MKAnnotation> annTapped = view.annotation;
- 2 回答
- 0 關(guān)注
- 991 瀏覽
添加回答
舉報(bào)