我试图找出如何判断动画何时完成以下内容:
self.mapView.setRegion(MKCoordinateRegionForMapRect(mapRect), animated: true)
setRegion
看起来像其他命令一样支持完成处理程序。
我知道如何使用以下内容创建通用完成处理程序: How could I create a function with a completion handler in Swift?
但我不知道要检查哪个变量来验证动画是否已完成。
答案 0 :(得分:3)
您可以为此目的实施MKMapViewDelegate
protocol。来自文档:
因为许多地图操作需要MKMapView类来加载数据 异步地,地图视图调用这些方法来通知你 特定操作完成后的应用程序。
此方法应该按照您的意愿执行:
optional func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool)
告诉代理人地图视图显示的区域 改变。