2 Stimmen

MKMapView addAnnotation Verzögerung beim Ziehen einer UIScrollView über die Karte

Ich arbeite an einer iPad-Anwendung, und ich habe ein Vollbild MKMapView mit einem transparenten UIScrollView (etwa 1/5 des Bildschirms) oben drauf. Ich füge Anmerkungen (Kartennadeln) zur Karte hinzu, wenn Sie die UIScrollView horizontal verschieben, aber ich stelle fest, dass die Nadeln nicht wirklich auf die Karte fallen, bis Sie die UIScrollView loslassen/anhalten.

Ich habe auch bestätigt, dass das Timing wie erwartet ist, indem ich das NSLog unten hinzugefügt habe. Die Konsole zeigt die Meldung "Adding pin" an, wenn ich scrolle, aber der Pin wird erst hinzugefügt, wenn man aufhört zu ziehen.

if(![myMap.annotations containsObject:item]) {
    [myMap addAnnotation:item];
    NSLog(@"Adding pin."); // Gets called when I would expect, but no pin drops
}

Ich bin sicher, dass die Karte etwas mit den Berührungen tut, aber ich bin nicht sicher, wie die Karte zu sagen, die Berührungen in der UIScrollView über ihm zu ignorieren ... oder umgekehrt, sagen die UIScrollView NICHT die Berührungen an die Karte unten übergeben.

Für jede Hilfe wäre ich dankbar.

0voto

lxt Punkte 31030

Ich bin nicht sicher, wie die Karte zu sagen, die Berührungen in der UIScrollView über ihm zu ignorieren ... oder umgekehrt, sagen die UIScrollView NICHT die Berührungen an die Karte unten übergeben.

Haben Sie die drei berührungsbezogenen Eigenschaften von UIViews ausprobiert? Wenn Sie die Eigenschaft .exclusiveTouch Ihrer UIScrollView auf YES setzen, werden Berührungsereignisse für alle anderen Ansichten in diesem Fenster blockiert.

Oder Sie könnten die Eigenschaft .userInteractionEnabled der Mapview auf NO ändern. So oder so blockieren Sie die Übermittlung der Berührungsereignisse von der Bildlaufansicht an die Kartenansicht.

Wenn diese beiden Eigenschaften nicht funktionieren, liegt das Problem wahrscheinlich an etwas anderem, das nichts mit der Berührung innerhalb der Bildlaufleiste zu tun hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X