Постоянно исчезают между двумя настройками цвета CAGradientLayer? - PullRequest
1 голос
/ 27 мая 2011

Я хочу, чтобы пульсировал UIButton, и я планирую сделать это, медленно замирая между двумя цветными массивами на CAGradientLayer. Есть ли способ повторить анимацию туда-сюда?

1 Ответ

2 голосов
/ 29 мая 2011

Да.В Core Animation вы создаете явную анимацию для затухания, а затем вы также должны установить два других свойства для объекта анимации: autoReverses и repeatCount (количество повторений для выполнения, каждый из 2повторения проведут вас через вашу анимацию и вернутся снова).В вашем случае вы добавили бы следующие строки в ваш код, который устанавливает объект анимации (я назову объект anim ):

 anim.repeatCount = HUGE_VALF;
 anim.autoReverses = YES;

HUGE_VALF заставляет анимацию повторятьсянавсегда, хотя вы можете указать число, большее, чем любое количество повторений, которое может произойти.

Эти свойства не показаны в документации объекта CAAnimation или его подклассов, поскольку он определен в принятом протоколе CAMediaTiming.CAAnimation и его подклассы.Но вы можете увидеть примеры и обсуждение протокола CAMediaTiming применительно к объектам CAAnimation в разделе Timing, Timespaces и CAAnimation в Руководство по программированию типов анимации и синхронизации на сайте разработчика Apple.на сайте или в документации, предоставляемой через XCode.

(Многие люди находят документацию Apple Core Animation особенно трудной для понимания, пока вы не получите полное представление о разрозненных частях. Я в основном знал, что вам нужноделаю, но все еще трудно вспомнить, где именно найти фактическую информацию о задействованных свойствах.)

...