我想在拖动它时更改mkannotationview的标题。 MKannotationview没有title属性 - 我有自定义视图。那么如何在dragstate委托方法中访问它?
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:
(MKAnnotationViewDragState)oldState
{
NSLog(@"old state, new state:%d, %d",oldState,newState);
//view setTitle
}
如果我可以从这里调用viewforannotationdelegate方法,那可以提供帮助。那至少可能吗?
答案 0 :(得分:2)
这是正确的演员:
ParkPlaceMark *annotation = (ParkPlaceMark *)view.annotation;
地标 - 我的自定义课程; view - mkannotationview
答案 1 :(得分:0)
您可以将MKAnnotationView
强制转换为您自己的包含标题属性的子类。
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState {
if([view isKindOfClass:[CustomMKAnnotationView class]]) {
CustomMKAnnotation *customView = (CustomMKAnnotation *)view.annotation;
customView.title = @"New Title";
}
}