私のiOS 5アプリでは、イメージとして赤いorbを持つカスタム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"];
しかし、私は(私が停止するように指示されるまで、ウェル)永遠に継続してアニメーションを希望して:私は赤と緑の画像の両方を持っているし、正常に次のコードを使用して2つの間の相互disolveすることができますアニメーションが反転してループするようにします。言い換えれば、赤 - >緑 - >赤を消してから、繰り返します。
上記のアニメーションブロックを無限ループに入れてみました(フェージングが赤 - >緑か緑 - >赤かどうかを判断するロジックがあります)が、アプリ全体をロックアップします。
他のソリューションはCocos2dを使用しているようですが、これはアプリで必要な唯一のアニメーションであるためかなり重いと思われます(絶対に必要な場合を除き、このようなフレームワークは使用したくありません)。
ご協力いただければ幸いです。
ありがとうございます - これは完全に機能します!非常に明確にも説明されて:) – Skoota