Ich habe eine MKMapView
mit einem registrierten Delegierten so kann ich (insbesondere regionDidChangeAnimated) für Region Änderungsereignisse hören. Ich bin auf der Suche nach einer robusten Art und Weise zu sagen, wenn ein Region Änderungsereignis das Ergebnis eines Benutzers war die Karte oder von einer programatic setRegion:
Anfrage ziehen.Wie kann ich feststellen, wenn regionChange Ereignis auf MKMapView programatic oder user-drag von MKMapView?
Mein Ziel ist es, eine App zu haben, die die Karte basierend auf einer Standortverfolgung automatisch zentriert, es sei denn, der Benutzer hat die Karte von Hand verschoben. An diesem Punkt wird die automatische Zentrierung deaktiviert. So, ich rufe setRegion: die Kartenansicht als angemessen rieren, aber ich habe eine harte Zeit zu sagen, wenn der resultierenden regionDidChangeAnimated:
Aufruf an den Delegierten programatic ist oder von einer Benutzer-Pfanne. Ich habe versucht, etwas zusammen zu hacken, aber ich laufe immer in Rennen Bedingungen, wenn der Benutzer gerade schwenkt, wenn ein Standort-Update kommt.
auch dieses Problem hat. Dein Code ist eine nette Lösung. Es ist ein bisschen hacky, aber nicht so schlecht, da es immer noch so gut Englisch liest. Es ist nur eine boolesche Flagge :) – chakrit