请帮我解决这个障碍。我有一个带有大约200个注释的 MKMapView 。当我点击其中一个时,一个细节视图被推入UINavigationController,因此MKMapView被隐藏。在浏览显示的详细信息视图期间,我收到内存警告,并且隐藏了隐藏视图。关闭显示的详细视图后,再次加载 MKMapView的视图,但没有可见的注释(用户位置蓝色气泡除外),焦点重置为默认值。 [mapView:viewForAnnotation:]不会被调用。
即使我删除viewDidUnload中的所有注释并在viewDidLoad中插入新注释,MKMapView也不会显示它们,即使为每一个调用[mapView:viewForAnnotation:]。
任何想法如何使其表现并在卸载后保持相同的可见地图矩形&加载?非常感谢你。
编辑 - 已解决!问题是在initWithNibName中,我得到了
map =(MKMapView *)[self.view viewWithTag:TAG_MAP];
从那一刻开始,我只使用'map'变量。但是在重新加载之后,变量显然指向了一个无效的对象。所以我将上面的命令移到了viewDidLoad,现在它可以处理了。谢谢克雷格指出我的好方向!
答案 0 :(得分:0)
在重新加载期间,您可能会与MKMapView或其委托分开。您可以查看修复内存警告,或更改映射初始化代码,以确保在viewdidload期间调用相同的内容作为初始加载。可能值得查看viewDidLoad,我想我听说在iOS 6中它的处理方式不同。