В моем приложении iOS 5 у меня есть пользовательское UIButton
, изображение которого имеет красный шар. Когда кнопка нажата, я бы хотел, чтобы шар начал пульсировать / исчезать между красным и зеленым. У меня есть как красное, так и зеленое изображения, и я могу успешно пересечь -растворение между ними, используя следующий код:
CABasicAnimation *imageSwitchAnimation = [CABasicAnimation animationWithKeyPath:@"contents"];
imageSwitchAnimation.fromValue = (id)[UIImage imageNamed:@"red.png"].CGImage;
imageSwitchAnimation.toValue = (id)[UIImage imageNamed:@"green.png"].CGImage;
imageSwitchAnimation.duration = 1.5f;
[self.button.imageView.layer addAnimation:imageSwitchAnimation forKey:@"animateContents"];
Однако я хотел бы, чтобы анимация продолжалась вечно (, ну, пока я не скажу ей остановиться ), а также чтобы анимация реверсировалась и зацикливалась. Другими словами, закрасьте красный -> зеленый -> красный, а затем повторите.
Я попытался поместить блок анимации выше в бесконечный цикл (вместе с некоторой логикой, чтобы определить, должно ли затухание идти от красного -> зеленого или зеленого -> красного ), но это просто блокирует -вверх. все приложение.
Другие решения, кажется, используют Cocos2d, который кажется довольно тяжелым -весом, поскольку это единственная анимация, которая мне нужна в приложении (, поэтому я не хочу использовать такие фреймворки, если в этом нет крайней необходимости ).
Любая помощь будет принята с благодарностью.