【发布时间】:2014-02-10 01:36:35
【问题描述】:
我今天一直在玩 CABasicAnimation 和 CAAnimationGroup,我已经爱上了它。我有几个基本动画正在发生,其中圆形缩小并缩小为圆角方形,就像 iOS 7 中的“语音备忘录”应用程序一样。
下面是它的代码。
CABasicAnimation *corner = [CABasicAnimation animationWithKeyPath:@"cornerRadius"];
corner.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
corner.fromValue = [NSNumber numberWithFloat:recordingShape.layer.cornerRadius];
corner.toValue = [NSNumber numberWithFloat:30.0f];
corner.duration = 1.0;
//shrinking - scaling
CABasicAnimation* shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0.5];
shrink.duration = 0.5;
// Two animations concurrently so set up CAAnimationGroup
CAAnimationGroup *group = [CAAnimationGroup animation];
[group setDuration:0.5];
[group setAnimations:[NSArray arrayWithObjects:shrink, corner, nil]];
// Animate the layer
[[recordingShape layer] addAnimation:group forKey:@"bounceAndFade"];
动画按预期很好地发生了,但是在动画之后它又回到原来的圆形状态,谁能指导我如何保持图层的框架?
谢谢。
【问题讨论】:
标签: cabasicanimation caanimation