1 //按钮出现时的动画效果 2 3 + (void)buttonAnimation:(UIButton *)sender { 4 5 CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"]; 6 7 8 9 CATransform3D scale1 = CATransform3DMakeScale(0.5, 0.5, 1); 10 11 CATransform3D scale2 = CATransform3DMakeScale(1.2, 1.2, 1); 12 13 CATransform3D scale3 = CATransform3DMakeScale(0.9, 0.9, 1); 14 15 CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1); 16 17 18 19 NSArray *frameValues = [NSArray arrayWithObjects: 20 21 [NSValue valueWithCATransform3D:scale1], 22 23 [NSValue valueWithCATransform3D:scale2], 24 25 [NSValue valueWithCATransform3D:scale3], 26 27 [NSValue valueWithCATransform3D:scale4], 28 29 nil]; 30 31 [animation setValues:frameValues]; 32 33 34 35 NSArray *frameTimes = [NSArray arrayWithObjects: 36 37 [NSNumber numberWithFloat:0.0], 38 39 [NSNumber numberWithFloat:0.5], 40 41 [NSNumber numberWithFloat:0.9], 42 43 [NSNumber numberWithFloat:1.0], 44 45 nil]; 46 47 [animation setKeyTimes:frameTimes]; 48 49 50 51 animation.fillMode = kCAFillModeForwards; 52 53 animation.duration = 0.3f; 54 55 56 57 [sender.layer addAnimation:animation forKey:@"DSPopUpAnimation"]; 58 59 } 60 61