У меня есть MKMapView
с зарегистрированным делегатом, поэтому я могу прослушивать события изменения региона (в частности, regionDidChangeAnimated). Я ищу надежный способ узнать, было ли событие изменения региона результатом перетаскивания карты пользователем или программным setRegion:
запросом.
Моя цель - создать приложение, которое автоматически центрирует карту на основе трассировки местоположения, если пользователь не панорамировал карту вручную, после чего автоматическое центрирование отключится. Таким образом, я вызываю setRegion: для повторного центрирования представления карты по мере необходимости, но мне трудно определить, является ли результирующий regionDidChangeAnimated:
вызов делегата программным или из пользовательского панорамирования. Я пробовал что-то взломать вместе, но продолжаю сталкиваться с условиями гонки, когда пользователь начинает панорамирование, как только приходит обновление местоположения.