Быстрый обработчик завершения для mapView.setRegion Animation?
Я пытаюсь выяснить, как сказать, когда анимация закончена для следующего:
self.mapView.setRegion(MKCoordinateRegionForMapRect(mapRect), animated: true)
Это не похоже setRegion
поддерживает обработчик завершения, как и другие команды.
Я знаю, как создать универсальный обработчик завершения, используя что-то вроде этого: Как я могу создать функцию с обработчиком завершения в Swift?
Но я не знаю, какую переменную нужно проверить, чтобы завершить анимацию.
1 ответ
Вы можете реализовать MKMapViewDelegate
протокол для этой цели. Из документов:
Поскольку многие операции с картами требуют, чтобы класс MKMapView загружал данные асинхронно, представление карты вызывает эти методы, чтобы уведомить ваше приложение о завершении определенных операций.
Этот метод должен делать то, что вы хотите:
optional func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool)
Сообщает делегату, что область, отображаемая видом карты, только что изменилась.