Wie wollen Sie animieren, einen SVG-Pfad in IOS?
Habe ich eine SVG-Pfad wie in diesem Beispiel:
<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" version="1.1" baseProfile="full">
<path d="M47.16,66.38c0.62,1.65-0.03,2.93-0.92,4.28c-5.17,7.8-8.02,11.38-14.99,18.84c-2.11,2.25-1.5,4.18,2,3.75c7.35-0.91,28.19-5.83,40.16-7.95" style="fill:none;stroke:black;stroke-width:2" />
</svg>
Ich machen kann das Weg, aber kann nicht scheinen zu finden ein Weg, um den Pfad zu animieren, so dass es aussieht wie es ist "seins ziehen", als ob mit Bleistift. Die animate
Knoten funktioniert für Einzel-Koords, aber nicht für Wege.
Ich schließlich mit dieser animation in einer iPhone-app entweder mit einem parser oder mit einem UIWebView.
- Siehe auch stackoverflow.com/questions/14275249/...
- Hi, Wie verwenden Sie diese in iOS
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen zu animieren, die 'stroke-dashoffset' (beachten Sie, dass benötigen Sie einen passenden 'stroke-dasharray' mit ihm), siehe dieses Beispiel. Die Länge des Weges, muss berechnet werden, damit diese erfolgreich abgerufen werden können über ein Skript wie:
Anzeigen der Quelle auf der Beispiel, um zu sehen, wie es gemacht wird.
translate
von Ihrem<g>
Knoten kann ich nichts sehen? 2) Warum hast du wiederholen, 54 zweimal in der style-Deklaration fürstroke-dasharray
?Ich habe versucht, für eine lange Zeit, dies zu tun, ohne dass Sie zusätzliche Skripte in den header (ich habe keine Ahnung von javascript hat nicht geholfen), so ist hier die Lösung:
Fügte ich zusätzliche Zeilenumbrüche zur besseren Lesbarkeit hier.
Dies ist legal in SVG (wenn auch nicht in HTML), weil die
svg:animieren
- element kannonload
, die die meisten HTML-Elemente nicht.Sobald Sie gerendert haben Ihren SVG-Pfad, um es so Aussehen, wie es gezeichnet wird mit Bleistift, können Sie einfach bedecken Sie es alle mit einer lichtundurchlässigen Schicht, und dann animieren die Bewegung dieser Schicht entlang der Weg.
Finden die
CGPath
entlang der Sie den layer verschieben Sie können diese Bibliothek verwenden:https://github.com/arielelkin/PocketSVG
Diese analysieren die SVG-Daten in einer UIBezierPath. Dann: