脉冲动画

Buj*_*uju 5 iphone animation uitabbarcontroller

我想在一个简单的UIImageView上构建一个脉冲动画.ImageView会变大一点,然后再回到原来的大小.

我使用了以下代码:

- (void) doCoolAnimation {
    [UIView beginAnimations:@"glowingAnimation" context:nil];
    [UIView setAnimationRepeatAutoreverses:YES];
    [UIView setAnimationRepeatCount:INT_MAX];
    [UIView setAnimationDuration:0.25];
    [UIView setAnimationBeginsFromCurrentState:YES];
    imageView.transform = CGAffineTransformMakeScale(1.15, 1.15);
    [UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)

这在iOS3上工作正常,但仅在iOS4上有效.

我有一个UITabBarController,其中包含2个视图.第一个是带有动画的imageView,一旦加载视图,动画就会启动.但是在我切换到第二个视图(使用TabBar)并返回后,动画在iOS4上不再运行了.(但在iOS3上我可以在这两个视图之间切换,动画效果仍然很好.)

我也尝试过每秒调用doCoolAnimation的计时器,但这无助于再次启动动画.

有人可以解释为什么在视图切换后动画消失了吗?是否有可以使其在iOS4上运行的解决方法?

Iro*_*ill 9

使用这个简单的方法: -

CABasicAnimation *pulseAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
pulseAnimation.duration = .5;
pulseAnimation.toValue = [NSNumber numberWithFloat:1.1];
pulseAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
pulseAnimation.autoreverses = YES;
pulseAnimation.repeatCount = FLT_MAX;
[ButtonName.layer addAnimation:pulseAnimation forKey:nil];
Run Code Online (Sandbox Code Playgroud)