我有一个MKOverlayView,它将动画雷达数据显示为一系列图像。我的问题是MapKit将雷达图像切割成瓷砖。为了交换图像,我有一个调用更新功能的计时器,它在我的叠加层中设置当前图像,然后调用以下
[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect];
叠加层更新,但一次只有一个图块,所以我得到了一个不稳定的动画。关于如何在同一时间使所有图块变为动画(即交换图像)的任何想法?
答案 0 :(得分:6)
我通过添加UIImageView作为MKOverlayView的子视图来解决这个问题。
要动画,请停止绘图 正常 drawMapRect:zoomScale:inContext :( via 实例变量/属性标志)和 相反,绘制到UIImageView(到 那个是animationImages属性) 使用startAnimating。
您可以处理平移和缩放 重新初始化UIImageView 回应 MapView类:regionDidChangeAnimated:
答案 1 :(得分:4)
答案 2 :(得分:0)
所有瓷砖完成加载后是否有回调?如果是这样,您可以使用双缓冲,并在屏幕外更新视图,然后将其切换。