Chcę naśladować tło aplikacji "Chcę" w telefonie iPhone, są 3 kolory, które chcę, aby przeglądał cykl, powiedzmy czerwony, niebieski i zielony.Jak animować gradient przesuwając się w górę na iOS
Chcę, aby był gradient od czerwonego do niebieskiego do zielonego, każde 1/3 ekranu, wyblakłe do siebie (gradient), a następnie chcę, aby czerwony wyszedł z ekranu na górze i wrócił na dole. (Zobacz zdjęcia poniżej ...)
Animacja powinna przesunąć się w górę, chcę, aby gradient wzrósł i przeprowadzić reformowanie u dołu ekranu i przejść w górę.
Próbowałem używać CAGradientLayer i animować właściwość "colors", ale wygląda na to, że wszystko zlewa się ze sobą, niekoniecznie zsuwając się z ekranu.
Kontemplowanie za pomocą OpenGL, ale nie chcę iść tak nisko na coś, co wydaje się dość proste. Wszelkie próbki pomocy/kodu byłyby bardzo doceniane. Zasadniczo potrzebuję pomocy w animowaniu gradientu za pomocą CoreAnimation/CoreGraphics.
Z góry dziękuję!
Ok, że próbował tworząc warstwę gradientu większy niż ekran (3 x wysokość ekranu), a jej animowanych position.y i działa aż do position.y> origin.y ekranu . Czy mogę utworzyć inny gradient i umieścić go pod pierwszym, aby był kontynuowany, w jaki sposób utrzymujesz animację po tym, jak większa warstwa gradientu zniknie z ekranu? Myślę, że stworzenie warstwy CAGradientLayer z bardzo dużą wysokością i animacją jej pozycji nie jest koniecznie odpowiedzią, ponieważ wciąż może się w końcu skończyć. Chciałbym, aby animowało się na zawsze. – Supereid86
Cóż, gdy dojdzie do punktu pętli, możesz zresetować pozycję do góry (bez animacji), a następnie ponownie pętli. – jrturton
Pracował jak urok. Jedna uwaga - musiałem stworzyć dwie warstwy CAGradientayers, jedną czerwono-niebiesko-czerwoną i drugą czerwono-niebiesko-czerwoną.Położyłem jeden na drugim (jeden na górze i jeden zaczynając na końcu pierwszego), animowałem pozycję.y obu, dopóki pierwszy nie zniknął z ekranu, a drugi był teraz u początku pierwszego. Następnie przeniosłem pierwszą pod drugą bez animacji i ponownie animowałem pozycję. Dzięki @jrtuton! – Supereid86