Frage

Ich habe ein Liniendiagramm I in Quarz gezogen habe, und eine UIView ‚Blase‘, die ich im Idealfall möchte Pop-up, wenn der Benutzer die einzelne Diagrammlinie berührt und bewegt ihre Finger entlang. Die Blase zeigt einige zusätzliche grafische Darstellung Informationen.

Ich möchte ‚anhängen‘ die UIView zum CGPath Handlung, aber ich habe Probleme im Konzept die beste Weg, dies zu tun, herauszufinden. Ich weiß, dass Sie eine Ansicht entlang einer CGPath animieren können, aber dies scheint nicht für mich zu arbeiten, weil der Benutzer entlang des Graphen selbst mit dem Finger zu ‚schrubbt‘ muss eher als jede automatische Animation.

Hat jemand irgendwelche Vorschläge einen guten Ansatz?

War es hilfreich?

Lösung

Vielleicht brauchen Sie es nicht zu animieren. Touch-Ereignisse durch ziemlich schnell fliegen - vielleicht, wenn man nur den Blick auf die entsprechende Stelle in Bezug auf die Berührung ohne Animation bewegen wird die Bewegung glatt genug sein. Wenn das nicht gut genug ist, werden Sie entlang des Graphen Segment von der aktuellen Position der Ansicht animieren müssen (siehe CALayer presentationLayer) an die gewünschte Stelle. Der Schlüssel ist, dass Sie jedes Mal, Animieren werden Sie ein Touch-Ereignis empfangen (und alle vorherigen Animationen abgebrochen werden würden).

Andere Tipps

Wie Neil sagte, die beste Wahl ist, einfach mit den Touch-Ereignissen zu bewegen, wird es glatt aussehen, wenn alles, was Sie tun, ist eine Ansicht bewegen. Verwenden Sie [atouch locationInView: view], um die Position der Berührung zu kommen, dann findet den nächsten Punkt auf dem Weg (vielleicht den x-Wert verwenden und den y-Wert auf dem Pfad für die x nachschlagen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top