Быстрый обработчик завершения для mapView.setRegion Animation?

Я пытаюсь выяснить, как сказать, когда анимация закончена для следующего:

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

Это не похоже setRegion поддерживает обработчик завершения, как и другие команды.

Я знаю, как создать универсальный обработчик завершения, используя что-то вроде этого: Как я могу создать функцию с обработчиком завершения в Swift?

Но я не знаю, какую переменную нужно проверить, чтобы завершить анимацию.

1 ответ

Вы можете реализовать MKMapViewDelegate протокол для этой цели. Из документов:

Поскольку многие операции с картами требуют, чтобы класс MKMapView загружал данные асинхронно, представление карты вызывает эти методы, чтобы уведомить ваше приложение о завершении определенных операций.

Этот метод должен делать то, что вы хотите:

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

Сообщает делегату, что область, отображаемая видом карты, только что изменилась.

Другие вопросы по тегам