1

我正在开发一个简单的应用程序,它显示带有我自定义的一些引脚的地图。每当我点击我的自定义别针时,我都会推动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];
}     

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

4

1 回答 1

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]
}
于 2013-08-07T08:51:03.310 回答