你的位置:首页 > 操作系统

[操作系统]iOS之按钮出现时加一个动画效果


//按钮出现时的动画效果

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

}