如何更改拖动的mkannotationview的标题

时间:2012-09-26 03:41:00

标签: iphone drag-and-drop mkmapview mkannotationview

我想在拖动它时更改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方法,那可以提供帮助。那至少可能吗?

2 个答案:

答案 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";

    }
}