请帮我解决这个障碍。我有一个带有大约 200 个注释的MKMapView 。当我点击其中一个时,一个详细视图被推送到 UINavigationController 中,因此 MKMapView 被隐藏。在浏览呈现的详细视图期间,我收到内存警告并且隐藏视图被卸载。在我关闭显示的详细视图后,再次加载带有 MKMapView的视图,但没有可见注释(除了用户位置蓝色气泡)并且焦点被重置为默认值。[mapView: viewForAnnotation:] 没有被调用。
即使我删除了 viewDidUnload 中的所有注释并在 viewDidLoad 中插入新的注释,MKMapView 也不会显示它们,即使 [mapView: viewForAnnotation:] 被每个单独的注释调用。
知道如何在卸载和加载后使其表现并保持相同的可见地图矩形吗?非常感谢。
编辑 - 已解决!问题是在 initWithNibName 中,我得到了
地图 = (MKMapView*)[self.view viewWithTag:TAG_MAP];
从那一刻起,我只使用“地图”变量。但是在重新加载之后,变量显然指向了一个无效的对象。所以我将上面的命令移到了 viewDidLoad,现在它可以工作了。感谢克雷格为我指明了好的方向!