私のiOS5アプリには、UIButton
画像として赤いオーブを持つカスタムがあります。ボタンをタップすると、オーブが赤と緑の間でパルス/フェードし始めます。私は赤と緑の両方の画像を持っており、次のコードを使用して2つの間で正常に相互溶解できます。
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を使用しているようですが、これはアプリで必要な唯一のアニメーションであるため、かなり重いようです(したがって、絶対に必要でない限り、このようなフレームワークは使用したくありません)。
どんな助けでも大歓迎です。