您的位置:首页 > 移动开发 > IOS开发

IOS开发 抛物线

2015-12-29 18:10 351 查看
-(void)throwObject:(UIView *)obj from:(CGPoint)start to:(CGPoint)end height:(CGFloat)height
duration:(CGFloat)duration{

self.showingView = obj;

//初始化抛物线的路径

CGMutablePathRef path =
CGPathCreateMutable();

CGFloat cpx = (start.x + end.x) /
2;

CGFloat cpy = height;

CGPathMoveToPoint(path,
NULL, start.x, start.y);

CGPathAddQuadCurveToPoint(path,
NULL, cpx, cpy, end.x, end.y);

CAKeyframeAnimation *animation = [CAKeyframeAnimation
animationWithKeyPath:@"position"];

animation.path = path;

CABasicAnimation *scaleAnimation = [CABasicAnimation
animationWithKeyPath:@"transform.scale"];

scaleAnimation.autoreverses =
YES;

scaleAnimation.toValue = [NSNumber
numberWithFloat:0.6];

CABasicAnimation *rotateAnimation = [CABasicAnimation
animationWithKeyPath:@"transform.rotation.y"];

scaleAnimation.fromValue = [NSNumber
numberWithFloat:1];

rotateAnimation.toValue = [NSNumber
numberWithFloat:6.0 *
M_PI];

rotateAnimation.duration =
0.8;

CAAnimationGroup *groupAnimation = [CAAnimationGroup
animation];

groupAnimation.delegate =
self;

groupAnimation.repeatCount =
1;

groupAnimation.duration = duration;

groupAnimation.removedOnCompletion =
NO;

groupAnimation.animations =
@[scaleAnimation,animation,rotateAnimation];

[obj.layer addAnimation:groupAnimation
forKey:nil];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: