选择AnnotationView两次

时间:2013-08-07 08:17:29

标签: ios objective-c mkmapview mapkit mkannotation

我正在开发一个简单的应用程序,它显示了我定制的一些引脚的地图。每当我点击我的自定义图钉时,我都会推动detailedMapViewController查看annotationView

除非我想在返回根控制器后再次点击相同的引脚,否则一切正常。如果我选择之前没有的别针,一切都还行不错。但每当我点击我的最后一针都没有任何反应。

这是我点击我创建的自定义图钉的方法。

- (void)mapView:(MKMapView *)_mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    DetailedMapViewController *detailedMapViewController = [[DetailedMapViewController alloc] initWithNibName:@"DetailedMapViewController" bundle:nil];

    detailedMapViewController.pointAnnotation = view.annotation;

    [self.navigationController pushViewController:detailedMapViewController animated:YES];
    [[self navigationController] setNavigationBarHidden:NO animated:YES];
    [detailedMapViewController release];
}     

我为该方法设置了断点,当我再次单击该引脚时,我甚至无法到达断点。有些东西阻止我再次调用该方法。也许我需要回到某个地方。无论如何,一点帮助都会很棒。感谢。

1 个答案:

答案 0 :(得分:4)

将您的方法更改为此类

- (void)mapView:(MKMapView *)_mapView didSelectAnnotationView:(MKAnnotationView *)view
 {
  DetailedMapViewController *detailedMapViewController = [[DetailedMapViewController alloc] initWithNibName:@"DetailedMapViewController" bundle:nil];

  detailedMapViewController.pointAnnotation = view.annotation;

 [self.navigationController pushViewController:detailedMapViewController animated:YES];
 [[self navigationController] setNavigationBarHidden:NO animated:YES];
 [detailedMapViewController release];

 //New line
   [_mapView deselectAnnotation:[view annotation] animated:NO]
}