卸载和加载后,MKMapView忽略注释(内存警告)

时间:2012-09-19 08:53:07

标签: ios mkmapview

请帮我解决这个障碍。我有一个带有大约200个注释的 MKMapView 。当我点击其中一个时,一个细节视图被推入UINavigationController,因此MKMapView被隐藏。在浏览显示的详细信息视图期间,我收到内存警告,并且隐藏了隐藏视图。关闭显示的详细视图后,再次加载 MKMapView的视图,但没有可见的注释(用户位置蓝色气泡除外),焦点重置为默认值。 [mapView:viewForAnnotation:]不会被调用。

即使我删除viewDidUnload中的所有注释并在viewDidLoad中插入新注释,MKMapView也不会显示它们,即使为每一个调用[mapView:viewForAnnotation:]。

任何想法如何使其表现并在卸载后保持相同的可见地图矩形&加载?非常感谢你。

编辑 - 已解决!问题是在initWithNibName中,我得到了

map =(MKMapView *)[self.view viewWithTag:TAG_MAP];

从那一刻开始,我只使用'map'变量。但是在重新加载之后,变量显然指向了一个无效的对象。所以我将上面的命令移到了viewDidLoad,现在它可以处理了。谢谢克雷格指出我的好方向!

1 个答案:

答案 0 :(得分:0)

在重新加载期间,您可能会与MKMapView或其委托分开。您可以查看修复内存警告,或更改映射初始化代码,以确保在viewdidload期间调用相同的内容作为初始加载。可能值得查看viewDidLoad,我想我听说在iOS 6中它的处理方式不同。