用于mapView.setRegion动画的Swift Completion Handler?

时间:2018-02-15 04:47:57

标签: swift animation completionhandler

我试图找出如何判断动画何时完成以下内容:

self.mapView.setRegion(MKCoordinateRegionForMapRect(mapRect), animated: true)

setRegion看起来像其他命令一样支持完成处理程序。

我知道如何使用以下内容创建通用完成处理程序: How could I create a function with a completion handler in Swift?

但我不知道要检查哪个变量来验证动画是否已完成。

1 个答案:

答案 0 :(得分:3)

您可以为此目的实施MKMapViewDelegate protocol。来自文档:

  

因为许多地图操作需要MKMapView类来加载数据   异步地,地图视图调用这些方法来通知你   特定操作完成后的应用程序。

此方法应该按照您的意愿执行:

optional func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool)
  

告诉代理人地图视图显示的区域   改变。