每当在地图上选择注释时,我都试图使我的地图视图具有自定义动画。
此自定义动画需要包含地图视图的中心坐标,其变化速度与地图视图的跨度不同。 (我希望地图视图同时快速调整其中心,然后再缓慢放大)
我设法通过一次又一次地执行动画来达到某种目的:
MKMapView.animate(withDuration: 0.1, delay: 0.0, options: UIViewAnimationOptions.curveEaseOut, animations: {
self.homeMapView.centerCoordinate = region.center
}, completion: {
(value: Bool) in
MKMapView.animate(withDuration: 1.5, delay: 0.0, options: UIViewAnimationOptions.curveEaseOut, animations: {
self.homeMapView.region.span = region.span
}, completion: {
(value: Bool) in
print ("finished animation")
})
})
问题是,这看起来并不流畅,并且我希望两个动画同时开始并同时运行。可以使用CAAnimation和中心坐标值在跨度发生变化时相加来完成此操作,但是很遗憾,我正在处理的是MKMapView而不是CALayer。
任何想法或帮助将不胜感激!谢谢!