【发布时间】:2014-08-27 06:05:39
【问题描述】:
我正在开发 MapView。 mapView 委托方法didSelectAnnotationView 在我点击 Pin 时被调用,但当我再次点击 Pin 时,此方法不会被调用,直到我不点击地图。
我希望每当我点击位置 Pin 方法 didSelectAnnotationView 被调用。
请帮忙
这是didSelectAnnotationView 方法:
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)aView{
id<MKAnnotation> annotation = aView.annotation;
if (!annotation || ![aView isSelected])
return;
if ([[annotation title] isEqualToString:@"My Location"])
return;
NSLog(@"Annotation Title: %@",[annotation title]);
if(self.calloutAnnotation != nil)
{
[pMapView removeAnnotation:self.calloutAnnotation];
self.calloutAnnotation = nil;
return;
}
if ( NO == [annotation isKindOfClass:[MultiRowCalloutCell class]])
{
NSObject <MultiRowAnnotationProtocol> *pinAnnotation = (NSObject <MultiRowAnnotationProtocol> *)annotation;
if (!self.calloutAnnotation)
{
self.calloutAnnotation = [[MultiRowAnnotation alloc] init];
[self.calloutAnnotation copyAttributesFromAnnotation:pinAnnotation];
[mapView addAnnotation:self.calloutAnnotation];
}
self.selectedAnnotationView = aView;
return;
}
[mapView setCenterCoordinate:annotation.coordinate animated:YES];
self.selectedAnnotationView = aView;
}
【问题讨论】:
-
分享一下你写的didSelectAnnotationView方法?
-
@GenieWanted:共享
-
这是 didSelectAnnotationView 的默认属性
标签: ios objective-c