2014-02-10 30 views
0

我一直在玩CABasicAnimation和CAAnimationGroup今天,我已經愛上它了。我有幾個基本的動畫發生,其中圓形縮小,也縮小到圓角正方形,就像iOS 7中的「語音備忘錄」應用程序。CABasicAnimation動畫,但視圖框架不是持久的

下面是它的代碼。

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"]; 

動畫出現很好的預期,但動畫完成後,它會恢復到原來的狀態圓圓,任何人都可以指導我,我怎麼能堅持層的框架?

謝謝。

回答

0

嗯,我不知道你可以爲CAAnimationGroup組設置委託,因此我更改了實際的cornerRadius並在animationDidStop調用中進行了轉換。