动画MKOverlayView

时间:2010-11-15 07:32:55

标签: objective-c ios animation mapkit mkoverlay

我有一个MKOverlayView,它将动画雷达数据显示为一系列图像。我的问题是MapKit将雷达图像切割成瓷砖。为了交换图像,我有一个调用更新功能的计时器,它在我的叠加层中设置当前图像,然后调用以下

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect];

叠加层更新,但一次只有一个图块,所以我得到了一个不稳定的动画。关于如何在同一时间使所有图块变为动画(即交换图像)的任何想法?

3 个答案:

答案 0 :(得分:6)

我通过添加UIImageView作为MKOverlayView的子视图来解决这个问题。

  • 要动画,请停止绘图 正常 drawMapRect:zoomScale:inContext :( via 实例变量/属性标志)和 相反,绘制到UIImageView(到 那个是animationImages属性) 使用startAnimating。

  • 您可以处理平移和缩放 重新初始化UIImageView 回应 MapView类:regionDidChangeAnimated:

答案 1 :(得分:4)

答案 2 :(得分:0)

所有瓷砖完成加载后是否有回调?如果是这样,您可以使用双缓冲,并在屏幕外更新视图,然后将其切换。