1

我需要围绕我的一个图像视图产生发光效果。为此,我决定使用 shadowopacity 属性。

这是我的代码:

imageViewForAnimation.layer.position = viewOrigin;
imageViewForAnimation.layer.shadowColor = [[UIColor yellowColor] CGColor];
imageViewForAnimation.layer.shadowOffset = CGSizeMake(0.0, 0.0);
imageViewForAnimation.layer.shadowRadius = 15.0;
imageViewForAnimation.layer.shadowOpacity = 0.3;
imageViewForAnimation.layer.masksToBounds = NO;
// Set up glow effect
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"shadowOpacity"];
anim.fromValue = [NSNumber numberWithFloat:0.0f];
anim.toValue = [NSNumber numberWithFloat:1.0f];
anim.duration = 3.0;
anim.repeatCount = HUGE_VALF;
anim.autoReverses = YES;
[imageViewForAnimation.layer addAnimation:anim forKey:@"shadowOpacity"];

imageViewForAnimation.layer.shadowPath = [UIBezierPath bezierPathWithRect:imageViewForAnimation.bounds].CGPath;

imageViewForAnimation.layer.shadowOpacity = 1.0f;   

但是,动画在运行一次后就停止了。没有重复。谁能明白为什么?

4

1 回答 1

1

我刚刚在 iOS 5 模拟器上运行了你的代码,它可以工作。唯一的问题是大写的“R”

 anim.autoReverses= YES; 

正确代码:

 anim.autoreverses= YES;

如果您的代码拼写正确,那么问题可能出在您添加动画的位置。正如我所说,我只是在 iOS 5 模拟器上运行了代码,并且工作起来很迷人。希望这有帮助

于 2012-09-26T13:19:33.117 回答