首页 > 代码库 > 第二十九篇、CoreAnimation的使用
第二十九篇、CoreAnimation的使用
使用的的三个步骤
1.初始化演员
2.设置好剧情
3.播放
附录:一个把商品添加到购物车的抛物线动画
coreAnimation // 1.初始化演员 CALayer *layer = [[CALayer alloc]init]; layer.bounds = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height); layer.position = CGPointMake(160, 160); // 设置内容 //layer.contents = (id)_imageViewBtn.imageView.image.CGImage [self.view.layer addSublayer:layer]; // 2.设定剧情 // 贝尔曲线 UIBezierPath *movePath = [UIBezierPath bezierPath]; [movePath moveToPoint:layer.position]; [movePath addQuadCurveToPoint:CGPointMake(319, [UIScreen mainScreen].bounds.size.height - 45 - 20) controlPoint:CGPointMake(0,0)]; // 关键帧 CAKeyframeAnimation *positionnAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; positionnAnimation.path = movePath.CGPath; positionnAnimation.removedOnCompletion = YES; // 基本动画(缩放) CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.sale"]; scaleAnimation.fromValue = @1; scaleAnimation.toValue = @.025; scaleAnimation.duration = .8f; scaleAnimation.autoreverses = NO; scaleAnimation.repeatCount = 1; // 防止动画闪烁 scaleAnimation.removedOnCompletion = NO; scaleAnimation.fillMode = kCAFillModeForwards; scaleAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; // 组动画 CAAnimationGroup *animationGroup = [CAAnimationGroup animation]; animationGroup.duration = 0.8f; animationGroup.autoreverses = NO; animationGroup.repeatCount = 1; animationGroup.repeatDuration = NO; animationGroup.fillMode = kCAFillModeForwards; [animationGroup setAnimations:[NSArray arrayWithObjects:positionnAnimation,scaleAnimation, nil]]; // 3.播放 [layer addAnimation:animationGroup forKey:nil];
第二十九篇、CoreAnimation的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。