在appDidBecomeActive上重置MKMapView叠加层

时间:2012-03-11 20:50:25

标签: iphone ios mkmapview mapkit

我有一堆叠加的地图视图。当我点击主页按钮并重新打开它时,所有叠加层都会消失一秒钟并立即重新出现。起初我以为是我的代码正在执行它,但我几乎在任何地方放置了断点,我的代码似乎都没有触发“重置”。在叠加层重新出现之前,即使mapView:viewForOverlay:也未被调用。

我想也许这是MKMapView不可避免的行为,但似乎Maps.app也没有这样做 - 如果你计算一条路线然后退出/重新打开应用程序,覆盖就会停留在那里整个时间。

我想也许MKMapView默认会在退出时清除所有注释/覆盖,因此在保持背景的同时需要更少的内存。有什么方法可以避免这种情况吗?有点像Maps.app吗?

编辑:here's a small project我一起来证明这个问题。只需在模拟器中启动它,单击主页按钮,然后重新打开它。你会看到地图路径叠加片暂时消失。

1 个答案:

答案 0 :(得分:1)

这更像是一个后续行动,而不是一个实际的答案,但基本上这个问题被Apple标记为一个错误。我刚刚将此作为TSI提交给Apple并收到以下答案:

  

感谢您提供示例项目。我没有看到你的任何问题   码。在这一点上,我建议将问题升级为工程   从重绘的MKPolylineView提交有关“闪烁”的错误   在https://developer.apple.com/bugreporter/并向我发送错误   数字,所以我可以用它来跟进。

然后我提交了雷达#11041378

  

再次感谢您的错误报告。碰巧,我没有   为你解决此问题。工程仍在努力   问题,但我没有修复的时间表。

     

我会继续,只要有bug就把这个事件留给你   11041378开放。如果您对将来的状态或解决方法的状态有任何疑问,请随时回复我   会为你检查。

     

如果您对工程有任何意见,或想讲述故事   为什么它对你的情况很重要,我实际上鼓励你   把它直接放在bug中。因为它被分配到工程,   任何评论都会直接发给他们。

我附上以下评论,说明问题对我来说很重要的原因:

  

这个bug对我来说非常重要,因为用户希望找到它   应用程序处于退出应用程序时离开的确切状态。闪烁   覆盖(有时消失不到秒,其他时间消失   2-3s)可能让用户对所发生的事情感到困惑   真正想要的是立即与地图/叠加层互动。

此后没有收到Apple的回复。希望这将在iOS 6中得到修复?