更改MKMapView中心坐标的速度与其区域的速度不同。跨度

时间:2018-07-30 02:16:13

标签: swift mkmapview uiviewanimation

每当在地图上选择注释时,我都试图使我的地图视图具有自定义动画。

此自定义动画需要包含地图视图的中心坐标,其变化速度与地图视图的跨度不同。 (我希望地图视图同时快速调整其中心,然后再缓慢放大)

我设法通过一次又一次地执行动画来达到某种目的:

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。

任何想法或帮助将不胜感激!谢谢!

0 个答案:

没有答案