animieren Ich möchte die "Want" iPhone App Hintergrund nachahmen, gibt es 3 Farben, die ich möchte eine Ansicht durchlaufen, sagen wir rot, blau und grün.Wie zu animieren Gradienten auf iOS
Ich möchte, dass es ein Farbverlauf mit rot zu blau zu grün, jedes 1/3 des Bildschirms, verblasst ineinander (Farbverlauf), dann möchte ich das rot auf dem Bildschirm oben gehen und zurückkommen auf der Unterseite. (Siehe Fotos unten ...)
Die Animation sollte nach oben gehen, ich möchte, dass der Farbverlauf nach oben geht und am unteren Bildschirmrand nach oben korrigiert wird.
Ich habe versucht, mit CAGradiantLayer und animieren die "Farben" -Eigenschaft, aber das sieht aus wie alles ineinander überblendet, nicht unbedingt aus dem Bildschirm.
Betrachten mit OpenGL, aber nicht so niedrig für etwas, das scheint ziemlich einfach scheint. Jede Hilfe/Code-Beispiele würden sehr geschätzt werden. Ich brauche im Grunde Hilfe, einen Gradient mit CoreAnimation/CoreGraphics zu animieren.
Vielen Dank im Voraus!
Ok, so dass ich versuchte, eine Gradientenschicht größer als der Bildschirm (3x die Bildschirmhöhe) zu schaffen, und seine Position.y animierte, und es funktioniert, bis der Position.y> Bildschirm origin.y . Erstelle ich einen weiteren Farbverlauf und platziere ihn unter dem ersten Farbverlauf, so dass er einfach weiterläuft. Wie hält man die Animation am Laufen, nachdem die größere Farbverlaufsschicht vom Bildschirm verschwunden ist? Ich denke nur, eine CAGradiantLayer mit einer super langen Höhe zu erstellen und ihre Position zu animieren. Das ist nicht unbedingt die Antwort, denn sie kann immer noch enden. Ich möchte es für immer animieren. – Supereid86
Nun, wenn es zu einem Loop-Punkt kommt, würden Sie die Position nach oben (ohne Animation) zurücksetzen und dann erneut loopen. – jrturton
Arbeitete wie ein Charme. Ein Kommentar- Ich musste 2 CAGradientLayers erstellen, eines rot-blau-rot und das andere rot-blau-rot.Ich legte eins auf das andere (eins oben und eins am Ende des ersten), ich animierte die Position.y von beiden, bis das erste vom Bildschirm verschwand und das zweite war jetzt am Ursprung des ersten. Ich bewegte dann die erste unter der zweiten ohne Animation und animierte die Position wieder. Danke @jrtuton! – Supereid86