我正在开发一个简单的应用程序,它显示了我定制的一些引脚的地图。每当我点击我的自定义图钉时,我都会推动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];
}
我为该方法设置了断点,当我再次单击该引脚时,我甚至无法到达断点。有些东西阻止我再次调用该方法。也许我需要回到某个地方。无论如何,一点帮助都会很棒。感谢。
答案 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]
}