0

ドラッグしたときに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メソッドを呼び出すことができれば、それは役に立ちます。それで、それは少なくとも可能ですか?

4

2 に答える 2

2

これは正しいキャストです:

             ParkPlaceMark *annotation = (ParkPlaceMark *)view.annotation;

目印-私のカスタムクラス。ビュー-mkannotationview

于 2012-09-26T06:21:19.487 に答える
0

MKAnnotationViewtitle プロパティを含む独自のサブクラスにキャストするだけです。

-(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";

    }
}
于 2012-09-26T04:16:48.710 に答える