我正在尝试将注释添加到我的MKMapView中,并且我想将注释设置为可点击。(我在didAddAnnotationViews中所做的可点击功能。)
实际上,此功能在 IOS 6 上运行良好,但不适用于 IOS 7。我在didAddAnnotationViews方法中添加了一个简单的 NSLog 打印语句,我发现didAddAnnotationViews 无法正确响应addAnnotation。我认为didAddAnnotationViews 每次 都会被调用以响应addAnotaion。当我添加几个注释时,只打印一个日志语句,这意味着didAddAnnotationViews只执行一次我认为。
我正在使用MapKit、MKMapView,而且这个问题只发生在 IOS 7 中。谁能告诉我如何修复或找到 didAddAnnotationViews 无法正常工作的原因?
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView *annotationView = [views objectAtIndex:0];
MapViewAnnotation *annotation=annotationView.annotation;
NSLog(@"<==========didAddAnnotationViews=============> %@",annotation.title);
annotationView.canShowCallout=YES;
if(annotation.subtitle==nil){
annotationView.rightCalloutAccessoryView = nil;
}else{
annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(annotation.coordinate, 11000, 11000);
[mv setRegion:region animated:YES];
}
}