CAAnimationGroup(动画组)的简单使用

来源:互联网 发布:理财软件安全吗 编辑:程序博客网 时间:2024/06/01 12:23
- (void)groupAnimation {        //基础属性动画    //keyPath:属性键路径,通过路径的形式访问对象的指定属性    //1.平移    CABasicAnimation *positionAnimation = [CABasicAnimation animationWithKeyPath:@"position"];    positionAnimation.duration = 0.5;    // 在哪个时间间隔开始    positionAnimation.beginTime = 0.0;    positionAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];    //配置起始位置(fromeVaue)和终止位置(toValue)    positionAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(160, 284)];    positionAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(160, 50)];    //2.翻转    CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];    rotationAnimation.duration = 0.5;    // 在哪个时间间隔开始    rotationAnimation.beginTime = 0.5;    rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];    //配置起始位置(fromeVaue)和终止位置(toValue)    rotationAnimation.fromValue = @(0);    rotationAnimation.toValue = @(M_PI);// M_PI *2  360'        //3.透明度        CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];    opacityAnimation.duration = 0.5;    // 在哪个时间间隔开始    opacityAnimation.beginTime = 1.0;    opacityAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];    //配置起始位置(fromeVaue)和终止位置(toValue)    opacityAnimation.fromValue = @(1.0);    opacityAnimation.toValue = @(0.5);        //初始化动画组    CAAnimationGroup *groupAnimation = [CAAnimationGroup animation];    groupAnimation.duration = 1.5;    groupAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];    groupAnimation.animations = @[positionAnimation,rotationAnimation,opacityAnimation];//    groupAnimation.delegate = self;    groupAnimation.removedOnCompletion = NO;    groupAnimation.fillMode =kCAFillModeForwards;    [self.view.layer addAnimation:groupAnimation forKey:@"group"];}

补充:需要导入头文件

#import <QuartzCore/QuartzCore.h>


0 0
原创粉丝点击