Ho bisogno di tracciare con precisione il centerCoordinate
di un MKMapView
mentre l'utente ingrandisce/esegue il panning della mappa, vale a dire tra gli eventi regionWillChangeAnimated:
e regionDidChangeAnimated:
.Monitoraggio del centro di MKMapViewCoordinate
Ho provato i seguenti approcci provando a bloccare un MKAnnotation
al centro della mappa. Purtroppo, nessuno di loro lavoro abbastanza bene:
Utilizzando
UIPanGestureRecognizer
(come descritto here): questo funziona abbastanza bene mentre il display viene toccato, ma non aggiorna mentre la mappa è animata dopo il tocco gesto è completa . Inoltre, gli aggiornamenti sono in ritardo rispetto all'effettivocenterCoordinate
.Utilizzo di
UIScrollViewDelegate
I subclassed MKMapView per ricevere l'eventoscrollViewDidScroll:
. Questo ha funzionato, ma l'evento non viene attivato ad ogni incremento di scorrimento, con conseguenti aggiornamenti a scatti.Uso KVO Comunicazioni: seguenti this reticolo, ho cercato di osservare il
centerCoordinate
mapview. Funziona per louserLocation
, ma le notifiche non sembrano essere inviate percenterCoordinate
.
Tutte le idee su come monitorare centerCoordinate
efficace e accurata?
KVO sembrava la soluzione migliore. C'è un trucco per farlo funzionare con la proprietà centerCoordinate
di MKMapView
?
Hai mai risolto questo tramite notifiche KVO? – Jann