objective-c - 动画 MKOverlayView

标签 objective-c ios animation mapkit mkoverlay

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

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect];

叠加层会更新,但一次更新一个图 block ,所以我得到了一个断断续续的动画。关于如何使所有图 block 同时动画(即交换图像)的任何想法?

最佳答案

我通过添加一个 UIImageView 作为 MKOverlayView 的 subview 解决了这个问题。

  • 要制作动画,请停止使用 普通的 drawMapRect:zoomScale:inContext: (通过 实例变量/属性标志)和 改为绘制到 UIImageView(以 animationImages 属性),然后 使用 startAnimating。

  • 您可以通过以下方式处理平移和缩放 重新初始化 UIImageView 响应 mapView:regionDidChangeAnimated:.

关于objective-c - 动画 MKOverlayView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4182305/

相关文章:

iphone - 使用 NSIncation 在主线程上执行选择器

objective-c - 从 NSDictionary 创建枚举

iphone - 主线程在SCNetworkReachabilityGetFlags上被阻止

objective-c - 如何使函数在 View 出现时运行,但在警告框关闭时不运行?

iphone - iPhone 打印应用程序

Angular4 升级动画不起作用

javascript - CSS 旋转 360 度

ios - 如何在两个方向上延伸使用 CGMutablePathRef 绘制的线?

javascript - 在移动 Chrome 上隐藏键盘不会改变窗口高度

ios - Spritekit 中的击中动画