在我的iOS 5应用程序中,我有一个自定义UIButton
,它有一个红色的圆球作为它的图像。当按下按钮时,我希望圆球在红色和绿色之间开始脉冲/淡入淡出。我有红色和绿色的图像,并且可以成功地在两者之间使用下面的代码跨disolve:使用核心动画循环,可逆动画
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 2012-04-16 05:58:37