В моем приложении iOS 5 у меня есть обычай UIButton
, у которого в качестве изображения есть красный шар. Когда кнопка нажата, я хотел бы, чтобы шар начал пульсировать/исчезать между красным и зеленым. У меня есть и красные и зеленые изображения и может успешно кросс-disolve между ними, используя следующий код:Looped, обратимая анимация с использованием Core Animation
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, который кажется довольно тяжелым, поскольку это единственная анимация, которая мне нужна в приложении (поэтому я не хочу использовать такие фреймворки, если это абсолютно необходимо).
Любая помощь была бы принята с благодарностью.
Большое спасибо - это работает отлично! Очень четко объяснено :) – Skoota