一,效果图。
二,代码。
ViewController.m
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];button.frame=CGRectMake(10, 100, 100, 200);button.backgroundColor=[UIColor redColor];[button setTitle:@"按钮" forState:UIControlStateNormal];[self.view addSubview:button];//按钮的动画效果[self buttonAnimation:button];}//按钮出现的时候有一个动画效果
- (void)buttonAnimation:(UIButton *)sender
{CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];CATransform3D scale1 = CATransform3DMakeScale(0.5, 0.5, 1);CATransform3D scale2 = CATransform3DMakeScale(1.2, 1.2, 1);CATransform3D scale3 = CATransform3DMakeScale(0.9, 0.9, 1);CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);NSArray *frameValues = [NSArray arrayWithObjects:[NSValue valueWithCATransform3D:scale1],[NSValue valueWithCATransform3D:scale2],[NSValue valueWithCATransform3D:scale3],[NSValue valueWithCATransform3D:scale4],nil];[animation setValues:frameValues];NSArray *frameTimes = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],[NSNumber numberWithFloat:0.5],[NSNumber numberWithFloat:0.9],[NSNumber numberWithFloat:1.0],nil];[animation setKeyTimes:frameTimes];animation.fillMode = kCAFillModeForwards;animation.duration = 0.3f;[sender.layer addAnimation:animation forKey:@"DSPopUpAnimation"];
}